【问题标题】:Using cx_Freeze (Python 2.7) on a Windows box OOTB在 Windows 机器 OOTB 上使用 cx_Freeze (Python 2.7)
【发布时间】:2023-03-05 04:05:02
【问题描述】:
自从我开始使用 Python 以来,我就一直被这个问题所困扰,我想编写一个 Python 脚本,然后将其导出为可以在任何 Windows XP(及更高版本)机器上运行的 EXE。
cx_Freeze 完美地涵盖了所有这些,唯一的问题是它需要在客户端计算机上安装 Visual C++ Runtime,然后生成的 EXE 才能在其上运行...
是否可以将我漂亮的 *.py 文件转换为可在全新安装的 Windows XP 及更高版本上运行的可分发 EXE?
【问题讨论】:
标签:
python
windows
windows-xp
msvcrt
cx-freeze
【解决方案1】:
AFAIK 如果您拥有 Visual Studio 许可证,您有权将适当的 msvcrXY.dll 与您的应用程序捆绑在一起。这将使其无需安装运行时文件即可运行。
如果您没有 Visual Studio 许可证,我可以考虑两种解决方案:
一种方法是将 VS 运行时安装程序与您的应用程序捆绑在一起(如果许可证允许的话),并在必要时制作一个运行安装程序的小型批处理文件/程序,然后是您的程序。这并不理想,例如该用户没有管理员权限。
我能想到的另一个选择是让您使用 Mingw-gcc 编译 Python,然后使用该 Python 创建您的冻结可执行文件。然后它将不依赖于 VS 运行时库。这种方法当然要复杂得多,并且可能需要相当多的修补。也许有人已经这样做了。