该命令python
打开一个 Python 2.7.6 环境。如果我想解释 Python 3 脚本,我需要将命令重写为python3
.
我刚刚安装了numpy包。为了测试安装是否成功,我运行命令import numpy
。python
使用命令时效果很好。但是,python3
找不到包。
这怎么可能?这两个命令是否使用不同的路径变量?我怎样才能改变这种行为?
该命令python
打开一个 Python 2.7.6 环境。如果我想解释 Python 3 脚本,我需要将命令重写为python3
.
我刚刚安装了numpy包。为了测试安装是否成功,我运行命令import numpy
。python
使用命令时效果很好。但是,python3
找不到包。
这怎么可能?这两个命令是否使用不同的路径变量?我怎样才能改变这种行为?
你是绝对正确的,他们使用不同
PYTHONPATH
的 s。您可以将 Python 2.x 和 Python 3.x 视为完全不同的编程环境。是的,他们将包裹存放在不同的位置。
要让 numpy 正常工作,您可以键入:
如果您想找出一个包的确切保存位置,您可以查看模块对象
__path__
属性:您还可以使用Pip
python3-pip
安装并运行pip3 install whatever
以安装 Python 3的包,对于 Ubuntu 中不可用的包作为.python3-whatever
如果您对 distutils、setuptools、easy_install、pip 和其他工具之间的区别感到困惑,请使用 pip。那是最酷的。:)
不,他们使用相同的
PATH
. 但是,这个问题不在于PATH
.Python 2 和 Python 3 完全不同,以至于必须为它们分别编写包。您不能将为一个编写的包与另一个一起使用。
在 Ubuntu 中,这些模块存储在不同的位置并单独打包 -
python-numpy
对于 Python 2,python3-numpy
对于 Python 3。如果您想要 numpy 和 Python 3,请安装python3-numpy
.事实上,两者都从不同的位置导入模块:
/usr/lib/python2.7/dist-packages/numpy/
/usr/lib/python3/dist-packages/numpy/
为了能够
numpy
使用两个解释器导入,请务必安装它们相应的包:sudo apt-get install python-numpy
sudo apt-get install python3-numpy