16

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

例如,

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

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

4

2 回答 2

28

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

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

有关更多信息,请参阅Python 鸡蛋简介Python 鸡蛋所有关于鸡蛋的知识。

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

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

import sys
sys.path.append("library1.egg")
import foo
于 2009-07-10T08:32:35.133 回答
2

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

如果您的系统中有很多鸡蛋,我建议您使用类似 buildout 的东西,这将使设置易于复制。它会为你处理鸡蛋。

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

于 2009-07-10T08:38:58.443 回答