捆绑多个Python模块

时间:2011-02-20 22:28:25

标签: python module packaging

我有一些Python模块,其中一些需要超过20个。 我的问题是,如果有一个工具可以帮助我将一些Python模块捆绑到一个大文件中。

这是一个简单的例子:

HelloWorld.py:

import MyPrinter

MyPrinter.displayMessage("hello")

MyPrinter.py:

def displayMessage(msg):
    print msg

应转换为一个文件,其中包含:

def displayMessage(msg):
    print msg

displayMessage("hello")

好的,我知道这个例子有点不好,但我希望有人明白我的意思并且可以帮助我。还有一点需要注意:我谈的是非常多的进口大脚本,如果它们更小,我可以自己做。

感谢。

3 个答案:

答案 0 :(得分:3)

假设您使用的是Python 2.6或更高版本,您可以将脚本打包成zip文件,添加__main__.py并直接运行zip文件。

如果你真的想将所有东西都归结为一个文件,我希望你自己必须自己编写。 lib2to3中的源代码转换引擎可以帮助完成任务。

答案 1 :(得分:1)

您不能也不应该'将它们转换为一个文件'。

如果您的应用程序包含多个模块,则应将其组织到包中。

这里有关于包的非常好的教程:http://diveintopython3.org/packaging.html

你应该在这里阅读文档:http://docs.python.org/library/distutils.html

答案 2 :(得分:0)

Pip supports bundling.这是一种安装格式,将解压缩到多个文件中。其他任何东西都是个坏主意,因为它会破坏导入和每个模块的元数据。