显然,没有简单的方法可以使用您提到的标准工具来做到这一点。最后,我概述了一个完全不可能的解决方案,它可能太复杂了,无法考虑。
最终结果: 继续手动进行 *** 作,这可能是迄今为止最好的选择。
从可靠和/或官方来源获取:
在 micheal0x2a的“
从Python项目创建单个可执行文件”的
出色 答案中已经指定了
一系列 冗长且
精选的
选项,其中概述了可用于创建Python程序的独立发行版的大多数工具。一行突出:
另外,除非另有说明,否则 下面列出的所有程序都会为运行它的 *** 作系统专门生成一个exe。
我可能看错了东西,但没有明确说明跨平台支持。
在“ 分发实用程序 和 冻结代码-
Hitchhiker的Python指南” 中可以找到类似的列表。从这些我们可以看一下Windows支持的项目:
bbfreeze
:未维护,没有关于限制的文档,通常被该列表中的其余文档所取代。
PyInstaller
:根据他们的文档:
PyInstaller已针对Windows,Mac OS X和Linux进行了测试。
但是,它不是交叉编译器:要制作Windows应用程序,请在Windows中运行PyInstaller。
要制作Linux应用程序,请在Linux等系统中 运行它
。PyInstaller已成功与AIX,Solaris和FreeBSD结合使用,但尚未针对它们进行测试。
PyInstaller曾经尝试支持交叉编译(从Linux-> Windows),但
后来放弃了这个想法
。
cx_freeze :看着自己的
冻结其他平台 在他们的问题 的常见问题 列表:
cx_Freeze可在Windows,Mac和Linux 上 运行,但是 在每个平台上,它仅生成在该平台上运行的可执行文件。
因此,如果要冻结Windows程序,请在Windows上冻结它。如果要在Mac上运行,请在Mac上冻结它。
py2app
:这不是一个选项,因为
py2app仅OSX机器根据其注释支持它们:
注意:py2app必须在OSX上用于构建应用程序, 它不能在其他平台上创建Mac应用程序 。
因此,将其安装在Windows上是不行的。
总结了可用于在Windows上创建独立应用程序的工具。即使不是在Windows上, 创建OS不可知工具的解决方案也不存在 。
实现这类事情的普遍共识是通过虚拟机。您创建目标 *** 作系统的VM映像,在vm中运行该 *** 作系统的专用工具,然后将捆绑的可执行文件传输到兼容计算机。由于OSX通常不容易虚拟化,据我所知,您在这里有点运气不好。
一种复杂的可能方式:
现在,我之所以说没有简单的方法来执行此 *** 作,是因为可能有一个方法,但是据我所见, 它是如此繁琐,您甚至不应该考虑它。
我们在这里面临的一般问题是Windows的可执行文件根本不兼容OSX,哎呀,Linux可执行文件也不兼容。 因此,我们需要的是交叉编译内容的能力。
我听说过一种 支持交叉编译的编译器 是
clang
。因此,为了纠正可执行文件的不兼容性,理论上可以将clang用作交叉编译器。问题是, 这不是一个简单的任务 。因为
它充满了复杂的问题(从OSX到Windows的示例),
所以它可能比您愿意做的事情难得多。
如果确实找到了解决之道,那么现在需要使用
.cpp/.cpython脚本中的文件。幸运的是,这可以通过使用
Nuitka 或
Cython之 类的工具来完成。
这些要旨相同,进入
.pyexit
.cpp/.c。第二个棘手的部分可能是设置要与它们一起使用的clang编译器。老实说,我不知道是否有人这样做。
我没有研究太多,但是对于Nuitka来说,我知道 当传递该--standalone
标志时,它也可以用于创建 独立的可执行文件 (请参阅:移至其他计算机)。因此,从 理论上讲,
您可以将Nuitka与clang配置为针对OSX进行交叉编译。那你就可以休息了。 这是你应得的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)