有没有办法将python脚本编译成二进制文件?我有一个文件 python 脚本,它使用了很多模块。我想要的是在其他机器(freebsd)上拥有它的副本,但不需要在每台主机上安装所有需要的模块。
在这种情况下可能的解决方案是什么?
原文由 andriyko 发布,翻译遵循 CC BY-SA 4.0 许可协议
cx_freeze 会将您的 python 脚本附加到独立的 Python 加载器,并生成一个包含程序和共享库依赖项的目录。然后,您可以将生成的分发版复制到独立于 Python 或您的模块的其他机器。
$ cat hello.py
print "Hello, World!"
$ ls dist/
datetime.so _heapq.so hello libpython2.6.so.1.0 readline.so
$ cat hello.py
print "Hello, World!"
$ cxfreeze hello.py
... <snip> ...
$ ls dist/
datetime.so _heapq.so hello libpython2.6.so.1.0 readline.so
$ ./dist/hello
Hello, World!
更好的答案可能是创建一个 PIP 包,将这些第三个模块标识为依赖项,这样安装就可以像“pip install mypackage; ./package”一样简单
原文由 swdunlop 发布,翻译遵循 CC BY-SA 2.5 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答873 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
可以执行您要求的程序是:
但如前所述,您还可以使用 Distribute 创建一个包,并将其他包作为依赖项。然后您可以使用
pip
安装该包,它会安装所有的包。不过,您仍然需要安装 Python 和 pip。