在 Windows 上创建 python 3.5 exe
Posted
技术标签:
【中文标题】在 Windows 上创建 python 3.5 exe【英文标题】:Create python 3.5 exe on Windows 【发布时间】:2016-05-07 08:36:43 【问题描述】:我正在帮助我 10 岁的孩子阅读 Jason Briggs 在 Windows 7 上编写的“Python for Kids”一书。他已经知道 Scratch。他在这本书中取得了长足的进步,但令我惊讶的是,它没有关于创建 exe 的信息;它假设 Python 将安装在运行儿童程序的任何计算机上。当孩子想将他的程序提供给他的朋友时,这是行不通的。帮助他完成这本书是我自己第一次接触 Python。
Google 引导我使用 cx_Freeze 4.3.4,但当我尝试安装它时 (cx_Freeze-4.3.4.win32-py3.4.exe),我收到以下消息:
“需要 Python 3.4 版本,在注册表中找不到。”
这是否意味着我必须降级到 Python 3.4?但后来我发现这个线程似乎表明 cx_Freeze 应该在 Python 3.5 上工作:
https://sourceforge.net/p/cx-freeze/mailman/message/34695906/
我需要做什么?
【问题讨论】:
用 C 编写的模块链接到特定版本的 Python。我不知道这个包,但由于文件名的py3.4
部分,您拥有的版本似乎确实需要 3.4。这里有一个类似的问题(不是同一个包):***.com/questions/24676609/…。你提到的线程有一个指向lfd.uci.edu/~gohlke/pythonlibs/#cx_freeze 的链接,它似乎有一个 3.5 版本。
顺便说一句,您的问题标题具有误导性,您不是在编译 Python,而是从预编译的二进制文件构建它。与从宜家购买平板包装相比,差异类似于购买一堆木头来建造橱柜。
【参考方案1】:
cx_Freeze 4.3.4 不适用于 Python 3.5。但是,cx_Freeze 5.0 的开发版本相当稳定,但由于还没有正式发布,我找不到任何易于使用的 Windows 发行版。因此,我为需要在 Windows 上使用 Python 3.5 创建exe
分发的任何人创建了一个简单的 GitHub 页面,其中包含一些说明和预构建的二进制 Python Wheels:https://github.com/sekrause/cx_Freeze-Wheels
【讨论】:
【参考方案2】:最后我检查了Pyinstaller 对 Python 3.5 有官方支持(认为这是迄今为止唯一的支持吗?)
这里有一个friendly tutorial,介绍如何使用 Pyinstaller 制作 .exe。他的步骤适用于简单的 3.5 应用程序,这可能就是您所需要的。链接中的 youtuber 也有一个非常全面的 Python GUI 开发播放列表,这是我第一次接触 Python GUI 开发。
【讨论】:
这个信息实际上是不正确的。不幸的是,Pyinstaller 只支持 Python 2.7。 Cx_Freeze 似乎是唯一支持 Python 3.5 的库。也没有更新来提供对 Python 3.6 的支持(除非有我不知道的非官方修复) 嗯,如果是这种情况,那么他们的网站需要修改吗?这是 Pyinstaller 的开头段落,其中明确声明它支持 3.3-3.5:“PyInstaller 是一个在 Windows、Linux、Mac OS X、FreeBSD、Solaris 和 AIX 下将 Python 程序冻结(打包)成独立可执行文件的程序. 它相对于同类工具的主要优点是 PyInstaller 可以与 Python 2.7 和 3.3-3.5 一起使用,由于透明压缩,它可以构建更小的可执行文件,它是完全多平台的,并且使用 OS 支持来加载动态库,从而确保完全兼容。” 是的,看起来 cx_freeze 现在也支持 Python 3,但是从我阅读的邮件列表来看,我同意它似乎 3.6 支持没有得到任何关注。 我使用 PyInstaller 从 Python 3.5 构建可执行文件。对我来说,PyInstaller 是构建可共享 .exe 文件的最简单方法。对此答案 +1。以上是关于在 Windows 上创建 python 3.5 exe的主要内容,如果未能解决你的问题,请参考以下文章
使用 Windows 10 在 Python 3.5 上安装 dlib 时出错
在 32 位 Windows 7 机器上使用 Python 3.5 安装 scipy
如何在 Windows 7 64 位机器上为 anaconda 的 python 3.5 安装 cvxopt?
Windows 上的 Python 3.5 - 覆盖其他用户创建的文件“PermissionError:[Errno 13]”