如何包含一个位于子目录(相对位置)的python .egg库?

问题描述:

如何将存储在相对位置的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库就地?

.egg只是一个.zip文件,其行为类似于您可以从中导入内容的目录。

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

欲了解更多信息,请参阅A Small Introduction to Python eggs,Python EggsAll about eggs

例如,如果你的library1.egg包含一个名为foo包,并添加library1.eggPYTHONPATH,你可以简单地import foo

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

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

所以: 进口SYS sys.path.append( “library1.egg”) 进口富 – 2009-07-10 09:33:18

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

如果你的系统中有很多你需要的鸡蛋,我建议你使用buildout这样的东西,这样可以很容易地进行复制。它会为你处理鸡蛋。

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