在预编译的字节码+所有必需的库中分发python脚本

时间:2016-03-16 03:45:30

标签: python bytecode distribute debian-based

我为我的客户在python中创建了一个(一个文件)的脚本,该程序是成功的,现在它需要分发给我的12个客户员工。

我制作的脚本使用了很多库(导入),其中一些根本不受欢迎,所以问题就在这里:

有没有办法分发我已经用字节码编译的程序?所以用户可以通过简单地执行“python myProgram.pyc”或只是“myProgram.pyc”(如果它有+ x属性)来运行它,我知道在Java中完全可以通过编译JAR文件中的库来实现,有什么类似的python?

请不要推荐我py2exe因为我想要的东西很远,或者其他类似的工具,我只想分发一个包含已经在字节码中预编译的所有必需的库,这样最终用户就不需要了担心安装libs,pip,github,自定义东西或任何东西。希望你能帮助我,如果不是,我将把整个项目移植到Java。

1 个答案:

答案 0 :(得分:1)

如果您的客户雇员计算机是Windows,请转到py2exe http://py2exe.org/

如果Mac转到py2app https://pypi.python.org/pypi/py2app/

cx_Freeze http://cx-freeze.sourceforge.net/是跨平台的,它应该吐出可在任何安装了Python的操作系统上运行的可执行文件。

PyInstaller http://www.pyinstaller.org/也很好。

但是,这些方法无法编译,因此可以提高运行时性能。而是一种将脚本作为单个可执行文件分发所有必要模块的方法。

您可以使用已编译的.pyc文件及其周围的包装来执行,并将其打包为单个可执行文件。但是,这样做的性能改进值得商榷。

修改 虽然已经很久了,最近开始使用cython,它可能是解决这个问题的合理解决方案。如果不是全部,那么定义变量类型应该在问题中提出。