如何在子目录(相对位置)中包含python .egg库?

时间:2009-07-10 08:29:05

标签: python egg

如何导入存储在.py代码的相对位置的python .egg文件?

例如,

My Application/
My Application/library1.egg
My Application/libs/library2.egg
My Application/test.py

如何从test.py中导入和使用library1和library2,同时将.egg库保留在原位?

2 个答案:

答案 0 :(得分:27)

.egg只是一个.zip文件,就像一个可以导入内容的目录。

您可以使用PYTHONPATH变量将.egg添加到路径中,或者将目录附加到 sys.path。另一个选择是使用指向鸡蛋的.pth文件。

有关详细信息,请参阅A Small Introduction to Python eggsPython EggsAll about eggs

例如,如果您的library1.egg包含名为foo的包,并且您将library1.egg添加到PYTHONPATH,则只需import foo

如果你不能设置PYTHONPATH,你可以写:

import sys
sys.path.append("library1.egg")
import foo

答案 1 :(得分:2)

您可以在sys.path中包含每个鸡蛋,或创建一个提及每个鸡蛋的.pth文件。

如果您的系统中有许多鸡蛋,我建议您使用buildout之类的东西,这样可以轻松复制设置。它会为你处理鸡蛋。

http://pypi.python.org/pypi/zc.buildout/