【发布时间】:2021-08-19 16:47:52
【问题描述】:
我正在尝试将我的 Python 程序及其所有依赖项放入可以从命令行执行的单个二进制文件中。我在post here 中使用 Cython3 遵循了 Broken Man 的建议,如果你有一个简单的 Python 脚本,它就可以工作。但是,如果您在代码中使用 import 语句来包含依赖项,则它不起作用。
我正在寻找一种解决方案,让我能够像在 C 中那样执行我的程序,例如 ./a.out
请不要建议使用chmod +x 将其转换为可执行文件。这不是我要找的。这也不是桌面应用程序 - 它需要从命令行执行。
可以使用 Cython/Cythonize 来编译依赖项,还是应该使用其他工具来编译依赖项?我所依赖的依赖项是使用 pip 安装的库和同一目录中的自定义写入文件的混合。
【问题讨论】:
-
我想你要找的是
pyinstaller。这会从您的 Python 字节码、其所有依赖项的字节码、这些依赖项所需的任何二进制扩展以及 Python 解释器的副本创建一个可执行文件。请注意,它会非常大,并且需要很长时间才能加载。 -
关于使用 cython 解决这个问题:stackoverflow.com/a/59389683/5769463
标签: python compilation dependencies cython cythonize