我还没有因为恐惧而尝试过比我修复更多但是我不知道是否可以使用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不是。
答案 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
安装软件包时应使用适当的路径。