我现在有一个可爱的Macbook,我正在享受移动编码。我也喜欢用Python编码。但是,我想将最终结果作为可执行文件分发给使用Windows的朋友。
我知道Py2Exe会这样做,但我不知道Python在操作系统中的可移植性如何。有人可以提供任何建议吗?我也在使用PyGame。
非常感谢
答案 0 :(得分:3)
只要安装了解释器和相关库,Python 脚本就可以轻松移植。生成的.exe和.app文件不是。
答案 1 :(得分:2)
Py2exe生成Windows可执行文件,因此它们只能在Windows平台上运行。 http://www.py2exe.org/index.cgi/FAQ上的常见问题解答提供了有关它们如何运作的更多信息。从本质上讲,它提供了在Win9x以及更新的平台上运行所需的功能。注意:常见问题解答提到了一些潜在的问题,包括字符编码和解决方法。
使用python,它在基于Unix的系统上很常见,因为有几个Linux发行版使用该语言编写自定义维护脚本。因此,Python脚本将像Ruby脚本一样可移植。只要目标机器具有解释器并且您不使用仅在一种类型的平台上的外部程序,其他人将能够使用您的工作。 / p>
答案 2 :(得分:0)
如果您打算在可移植性标准中包含Linux,那么值得记住的是,许多发行版仍然包含2.6(甚至2.5),并且可能也是3.x系列中的版本(我假设考虑到PyGame的要求你使用2.x。
PyGame的版本似乎也在发行版之间变化很大。
答案 3 :(得分:0)
我个人经历过所有Exe构建器,py2exe,cx_freeze等所有时间的错误和错误,并且一直存在atexit模块的问题。
我发现只是通过包含python发行版方式更方便。除了易用性之外还有一个优点。
每次为python应用程序构建EXE时,您必须做的是包含python安装的核心,但仅包含您的应用程序使用的模块。但即使在这种情况下,由于包含python安装,你的应用程序可能会从一个python模块的少量Kbs增加到超过15 mbs。
当然安装整个python将占用更多空间,但每次发送你的python应用程序时,它们只有几kbs长。另外,每当你改变你的python应用程序的昏迷时,你想要去捆绑exe的麻烦。或者我认为你这样做,我不知道如果只是更换py模块可以帮助你避免这种情况。
在任何情况下,安装python和pygame就像在Windows中安装任何其他应用程序一样简单。在linux中通过synaptic也非常容易。
MACOS虽然很狡猾。 MACOS已预装python,Snow leopard已安装2.6.1 python。但是,如果你的应用程序使用的是python,并且在你的应用程序中包含python的安装,你必须指示用户通过“GET INFO - > open with”设置负责启动python的python启动器应用程序应用程序使用你的python版本,而不是板载的默认2.6.1版本,它并不困难,它只需要几秒钟,即使是一个无能的用户也可以做到这一点。
Python非常便携,python pygame应用程序不仅可以不变地运行到三个主要平台,Windows,MACOS,Linux。它们甚至可以在移动和便携式设备上运行。如果你需要构建跨平台运行的应用程序,那么python很容易被推荐。