捆绑多个Python模块
我有一些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
Pip支持打包功能。 这是一种安装格式,它会解压成多个文件。如果不这样做,就会出现问题,因为这会影响到模块的导入和每个模块的元数据。
3
假设你使用的是Python 2.6或更新的版本,你可以把你的脚本打包成一个zip文件,然后加一个__main__.py
文件,这样就可以直接运行这个zip文件了。
如果你真的想把所有东西压缩成一个文件,我想你可能需要自己动手写代码。lib2to3里的源代码转换工具可能会对这个任务有所帮助。
1
你不能也不应该把它们“合并成一个文件”。
如果你的应用程序由多个模块组成,你应该把它们整理成一个包。
这里有一个关于包的不错教程:http://diveintopython3.org/packaging.html
你还应该在这里阅读相关文档:http://docs.python.org/library/distutils.html