如何在具有2个版本的python的计算机上设置已安装模块的路径

时间:2015-12-04 03:38:11

标签: python python-3.x python-module

我还没有因为恐惧而尝试过比我修复更多但是我不知道是否可以使用PYTHONPATH解决我的问题。我在我的Macbookpro上安装了python 2.7.10和python 3.4.2。 Python2.7没有问题,只有3.4。我担心如果我用PYTHONPATH来修复python3,它会影响python2。

无论如何,我跑了:

sudo pip install blah2
sudo pip3 install blah3
pip freeze | grep blah2
blah2=2.12345
pip3 freeze | grep blah3
blah3=3.12345

我可以看到我已经为python2和python3安装了相应的模块,因为pip freeze已经显示出来了。 但是,从cmd行为python 3.4运行脚本时,我一直收到错误,表示找不到该模块。

在我的脚本中使用sys.path进行进一步调查时,我可以看到cmd行的python3正在寻找模块

/usr/local/lib/python3.4/site-packages

里面没有任何内容,而python 3.4的空闲正在查看

/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages

其中有大量文件。

我不知道为什么这首先搞砸了,或者我忘了做什么搞砸了这样但我怎么告诉python 3.4来查看 / Library 位置对于模块?

有趣的是python2和3都是从tar / gzip文件安装的。我使用

运行了两个
configure; make ;make install

命令但由于某种原因python2很好,但python3不是。

1 个答案:

答案 0 :(得分:2)

这可能意味着pip3正在安装到不同的路径。 查看pip3脚本,看看它放置包文件的位置。在我的情况下,它的第一行看起来像这样:

#!/opt/local/Library/Frameworks/Python.framework/Versions/3.4/bin/python3.4

看看这是否是正确的python3二进制文件的路径。如果不是,您有两个选择:将pip3的第一行更改为所需python3二进制文件的路径,或者忘掉它,直接使用pip python3命令:

python3 -m pip install blah3

安装软件包时应使用适当的路径。