新的Python dot版本无法检测已安装模块?
我在使用/usr/local/bin安装Python 2.6.7的时候,想把它和Python 2.6.1分开(可以参考在Mac上升级Python到2.6),但是当我尝试运行代码时,新的2.6.7版本找不到我在2.6.1中使用的模块。根据我的理解,2.6.1和2.6.7应该可以共享模块,因为它们都是2.6版本的模块。
ImportError: No module named unicodecsv
如果我想用新的/usr/local/bin/python
(2.6.7)来运行我在使用2.6.1时安装的模块,我缺少了什么重要步骤呢?是路径的问题吗?使用/usr/bin/python
时,模块可以正常导入,没有问题。
我确认过,使用/usr/local/bin/pip install unicodecsv
(还有pip-2.6 install
)只是告诉我我已经有我需要的东西:
Requirement already up-to-date: unicodecsv in /Library/Python/2.6/site-packages
1 个回答
0
可以使用 python -c "import sys; print sys.path"
这个命令,在一个正常工作的程序上,来查看它知道模块在哪里的正确路径。感谢 Jon Clements 的帮助。
接下来,你需要创建或更新 PYTHONPATH
这个环境变量,把这些路径保存下来,这样你的新程序就能在正确的地方查找模块了。
比如在 bash 里,你可以把它添加到 .bash_profile
文件中,像这样:
EXPORT PYTHONPATH=path:from:above:sys_path:inquiry
然后要重新执行这个文件来激活设置: . ~/.bash_profile