所以我有一个依赖于几个模块的python脚本。特别是pexpect和pyinoitify。我知道你可以在Windows中将一个python脚本编译成.exe,但在linux中是否有相对等价的东西?我不关心它是二进制文件,我只是希望能够分发我的脚本而不需要单独安装pexpect和pyinotify。这可能/值得吗?
答案 0 :(得分:6)
cx_Freeze
是一种将Python脚本“冻结”为独立二进制形式的跨平台方式。根据他们的网站:
cx_Freeze是一组脚本和 用于冻结Python脚本的模块 以相同的方式进入可执行文件 那个py2exe和py2app呢。不像 这两个工具,cx_Freeze是交叉的 平台,应该工作任何 Python本身工作的平台。 它需要Python 2.3或更高版本 它使用了zip导入 介绍的设施 版本
答案 1 :(得分:1)
通常,如果第一行是
#!/usr/bin/env python
文件设置为“x”模式(chmod +x yourfile.py
)
然后它是可执行的。无需编译。
是的,人们必须安装你所依赖的东西。这是(a)更简单和(b)如果他们实际进行安装就不那么令人惊讶了,所以他们知道真正发生了什么。
答案 2 :(得分:0)
在linux中,尽量避免这样的事情。大多数包管理器都非常好地处理依赖关系,只需分发脚本并告诉它需要哪些依赖项。