如何让iPython使用更新的Egg/模块

0 投票
1 回答
607 浏览
提问于 2025-04-16 10:49

我更新了一个只在本地使用的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 个回答

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 文件。

撰写回答