【发布时间】:2020-06-25 20:06:54
【问题描述】:
我使用以下命令在 Ubuntu 16.04 LTS 机器上的 python3 虚拟环境中安装 numpy。
我的目标是在我的 venv 中默认使用 python 3.5 并学习 numpy。我不应该明确使用python3。我觉得有一些重叠/错误,如果现在忽略,这可能是一个更大的问题。
另外,我的虚拟环境中没有安装 python 2.x,但我在系统级别安装了它。
命令python3 -V 和python -V 显示相同的版本并且都位于相同的路径。为什么最后一个命令有效,倒数第二个无效?
~/proj1$ virtualenv --no-site-packages -p python3 venv
Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /home/$USER/proj1/venv/bin/python3
Also creating executable in /home/$USER/proj1/venv/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
~/proj1$ source venv/bin/activate
(venv) ~/proj1$ which pip
/home/$USER/proj1/venv/bin/pip
(venv) ~/proj1$ pip -V
pip 20.0.2 from /home/$USER/proj1/venv/lib/python3.5/site-packages/pip (python 3.5)
(venv) ~/proj1$ pip install numpy
Collecting numpy
Using cached numpy-1.18.1-cp35-cp35m-manylinux1_x86_64.whl (19.9 MB)
Installing collected packages: numpy
Successfully installed numpy-1.18.1
(venv) ~/proj1$ python -V
Python 3.5.2
(venv) ~/proj1$ python3 -V
Python 3.5.2
(venv) ~/proj1$ which python
/home/$USER/proj1/venv/bin/python
(venv) ~/proj1$ which python3
/home/$USER/proj1/venv/bin/python3
(venv) ~/proj1$ python -c "import numpy"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named 'numpy'
(venv) ~/proj1$ python3 -c "import numpy"
(venv) ~/proj1$
【问题讨论】:
-
如果你运行
/home/$USER/proj1/venv/bin/python -c "import numpy"会发生什么(确保你输入了python的完整路径)? -
另外,如果你运行“
alias | grep -i python”(不带引号)会发生什么? -
sys.path在每种情况下是什么? -
@jjramsey 使用完整路径运行 python 工作正常。像你提到的那样运行别名打印
alias python='/usr/bin/python3' -
是您创建了
python='/usr/bin/python3'别名吗?
标签: python python-3.x numpy pip