是否可以为CLI python脚本构建单个二进制文件?就像去生锈一样

是否可以为CLI python脚本构建单个二进制文件?就像去生锈一样,python,Python,我喜欢Python的一切,除了我不能将我的项目的一个二进制文件发送给某个人并期望他们能够运行它 我不是要一个简单的Python脚本案例。比如说,我有一个python脚本,它导入了几个模块(在本地系统上安装了pip)。我想把它转换成一个文件或目录,可以发送到远程服务器并运行它。那里不需要pip安装之类的东西 可能吗 EDIT1:我只关心将脚本及其依赖项分发到远程x86_64 Gnulux服务器。Py2exe没有帮助。我正在Linux世界中寻找它的等价物 我使用virtualenv将所有模块安装在同

我喜欢Python的一切,除了我不能将我的项目的一个二进制文件发送给某个人并期望他们能够运行它

我不是要一个简单的Python脚本案例。比如说,我有一个python脚本,它导入了几个模块(在本地系统上安装了pip)。我想把它转换成一个文件或目录,可以发送到远程服务器并运行它。那里不需要pip安装之类的东西

可能吗

EDIT1:我只关心将脚本及其依赖项分发到远程x86_64 Gnulux服务器。Py2exe没有帮助。我正在Linux世界中寻找它的等价物

我使用virtualenv将所有模块安装在同一个目录中,但不知道是否有办法只发送该目录,并期望它在没有安装pip的情况下“正常工作”

我即将放弃多年的Python实践,转而使用不同的语言,如Nim或Go,原因就在于此。

有这样的选项,只需将脚本打包到Microsoft可执行文件(文件可以存在于Microsoft可执行文件中)或。然而,Python的运行时和语言规范并不是为了转换为机器代码而设计的。如果不能将您的程序作为pyinstaller/py2exe包分发,那么您应该考虑编译编程语言


以前在这里被问过

我想这就是你要找的。

为什么不给他们一个为他们设置virtualenv的bash呢?可能是@souradep的重复,我没有指定我的问题仅限于我可以通过SSH连接到的远程unix/Gnulux服务器。在这种情况下,它不是链接问题的副本。@Adrio,你是指在远程计算机上安装依赖项的bash脚本吗?我不想在远程机器上安装任何东西。如果远程计算机位于防火墙后面,它甚至可能无法访问pypi存储库。如果您准备在另一端重新创建虚拟环境,则只需要几行代码:在源计算机上运行
pip freeze
,然后在目标机上运行
virtualenv…
然后
pip install-r requirements.txt
。当然,您的服务器需要访问internet(或本地devpi服务器)。感谢您的回复。我没有提到我的需求是特定于GNU/Linux服务器的。Py2exe在这里没有帮助。我将查看pyinstaller。请注意,只要在您控制的硬件上运行,Python可能就足够好了。我想这是因为它的简洁性而被否决的,但PyOxizer实际上是一个很好的选项,它具有比pyinstaller更高级的功能。请参见此处的答案: