捆绑多个Python模块

捆绑多个Python模块,python,module,packaging,Python,Module,Packaging,我有一些Python模块,其中一些需要20多个其他模块。 我的问题是,是否有一个工具可以帮助我将一些Python模块捆绑到一个大文件中 这里有一个简单的例子: HelloWorld.py: import MyPrinter MyPrinter.displayMessage("hello") MyPrinter.py: def displayMessage(msg): print msg 应转换为一个文件,其中包含: def displayMessage(msg): prin

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

这里有一个简单的例子:

HelloWorld.py:

import MyPrinter

MyPrinter.displayMessage("hello")
MyPrinter.py:

def displayMessage(msg):
    print msg
应转换为一个文件,其中包含:

def displayMessage(msg):
    print msg

displayMessage("hello")
好的,我知道这个例子有点糟糕,但我希望有人理解我的意思,并能帮助我。还有一个注意事项:我谈论的是大量导入的大型脚本,如果它们较小,我可以自己完成


谢谢。

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

如果您的应用程序由多个模块组成,您应该将其组织到包中

这里有关于软件包的非常好的教程:


您应该阅读这里的文档:

a假设您使用的是Python2.6或更高版本,您可以将脚本打包到zip文件中,添加
\uuuuuu main\uuuuu.py
并直接运行zip文件


如果你真的想把所有东西都压缩成一个文件,我想你得自己写。lib2to3中的源代码转换引擎可能有助于完成此任务。

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

根据您的平台,py2exe和py2app等工具也可能会引起兴趣。-1建议重新查询更改,而不是回答实际问题:如果环境不允许使用包,该怎么办?在我的例子中,我使用的是一种应用服务器,它允许对平面文件模块进行热部署,但如果使用多模块包,则不允许运行时更改。因此,我需要完全按照OP的要求去做,而不是改变我的要求。Diveintopython3链接已经失效。