使用setuptools(或其他python egg builder)处理顶级包

时间:2011-01-20 02:49:16

标签: python setuptools distutils egg

我正在写一个小python应用程序。我希望能够轻松部署该应用程序。我知道如果在egg的根处有一个 main 模块,python 2.6将允许一个人直接执行一个鸡蛋。我实际上有这个工作。

一个问题是,当我尝试使用argparse库时,我不能将它包含在egg中而不将其安装到我的源目录中(或者将argparse.py中的符号链接安装到我的源目录中),因为argparse模块是在顶级包中。

如果我将它安装到名为“argparse”的子目录中,我必须像“从argparse import argparse”那样导入它,而不是正常的“import argparse”。

我希望能够在egg中指定一个site-packages类型目录,我可以在其中安装第三方模块/包。有没有办法用setuptools(或其他一些蛋制造商)做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:0)

我相信你可以创建一个名为toplevel的子目录,并在你的入口点做

import sys
sys.path.insert(0, './toplevel')

但未经测试。