如何让iPython使用更新的Egg/模块
我更新了一个只在本地使用的Python包(叫做egg)。更新过程很顺利,新的版本安装在了 /usr/lib/python2.5/site-packages/eggName-UpdatedVersionNumber-py2.5.egg
这个地方。
可是,当我打开iPython并尝试导入这个包时,还是导入了旧版本。
我运行了 egg_name.__file__,结果显示:
/usr/local/FOLDER/lib/python2.5/site-packages/eggName-OldVersionNumber-py2.5.egg/egg/__init__.pyc
我用命令 easy_install --upgrade EGG 检查了一下,结果显示:
... EGG UpdatedVersionNumber 已经是 easy-install.pth 中的活跃版本
有没有办法让系统调用新安装的版本,位于 /usr/lib/python2.5/site-packages/... 这个地方?
1 个回答
注意,你有两个不同的 site-packages
位置,一个是 /usr/lib/python2.5/site-packages
,另一个是 /usr/local/FOLDER/lib/python2.5/site-packages
。
当你的 PYTHON_PATH
中第二个位置排在第一个位置前面时,第二个位置里的包会被优先使用。你可以在 iPython 中通过输入 import sys; sys.path
来查看当前的 Python 路径。如果你想让 iPython 使用第二个位置的包,可以在那个位置安装新的包,或者直接把第一个位置的旧包删除掉。
如果你手动进行这些操作,别忘了更新受影响的 site-packages
目录中的 .pth
文件。