在Python组合模块文件(Combining module files in Python)

2019-09-18 03:21发布

有没有办法放在一起Python文件,类似于在Java JAR的方法吗? 我需要包装的Python类和函数的集合的方式,但不同的标准模块,我想它是在一个文件中。

Answer 1:

看看Python的鸡蛋: http://peak.telecommunity.com/DevCenter/PythonEggs

或者,你可以使用普通拉链: http://docs.python.org/library/zipimport.html



Answer 2:

寻找一个解决同样的问题后,我结束了写一个简单的工具,它结合了多个.py文件到一个: PyBreeder

它只会用纯Python模块的工作,可能需要一些试验和错误得到模块右的顺序,但只要你想用一些依赖作为一个单一的.py部署一个脚本这是很方便的。 评论/补丁/批判都非常欢迎!



Answer 3:

最简单的方法是只用zip 。 甲jar中的Java文件是包含一些元数据,例如一个清单一个压缩文件; 但你不一定需要metatada - Python可以从一个zip文件中,只要输入你地方的压缩文件上sys.path中,就像你对任何目录下执行。 在zip文件可以让源(.py文件),但随后Python将不得不编译它们每一个过程首先导入它们一次飞行; 或者你可以有标志-O的字节码文件(.pyc文件或.pyo),但是你就只能用Python中的一个特定版本并没有任何(对于.pyc文件)或存在(对于.pyo)(或-OO )。

至于其他的答案指出,有格式,如.egg ,丰富使用Python metatada zip文件为好,像Java .jar ,而是一个普通的zip文件是否在特定使用案例,让你额外的价值WRT是你的决定使



Answer 4:

您可以使用包含Python代码和进口从zip文件的zip文件的zipimport 。 如系统PyInstaller (跨平台)或py2exe (Windows)中会做这一切为您服务。



Answer 5:

阅读本PEP的信息。
另外, 进口从邮编模块 。



文章来源: Combining module files in Python