热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python3.6打包成exe可执行文件,已解决方案

将python程序打包成exe可执行文件有多种方法,这里讲一种最简单最常用的方法,只需要使用pyinstaller命令即可。一、环境Windows7或10x64Pyth

将python程序打包成exe可执行文件有多种方法,这里讲一种最简单最常用的方法,只需要使用pyinstaller命令即可。

一、环境

Windows 7或10 x64

Python 3.6.1

二、需要包

pyinstaller 3.3

pywin32

这里需要注意!!!

在网上找很多使用pyinstaller库将python程序打包成exe的方法都是需要python3.3版本以前的。而python3.6想要打包pyinstaller库不支持,但是经过很多轮尝试之后发现pyinstaller 3.3这个版本的包可以成功将python3.6版本的程序打包成exe。

还有一点需要注意,打包成exe都需要pywin32这个包,但是这个包很顽固,python2可以很好安装,但是python3安装时出现很多问题,需要下载本地安装。但是pywin32本地安装不像其它库直接运行python setup.py install就行,pywin32这个包需要下载一个exe文件的安装包然后点击运行才行。pywin32包连接:https://sourceforge.net/projects/pywin32/files/pywin32/Build%20220/ 下载时需注意自己python是32位的还是64位的,比如我的是python3.6 32位,我就下载这个:

三、pywin32的安装

下载pywin32后,点击运行,会发现出现下面的界面:

同样需要注意!!!!

很多同学到这个界面时,会报错,提示检测不到系统安装了python3.6!!!,而且不能手动添加路径。这个原因是你的python3.6不在系统的注册表中,所以需要写一个脚本把python加入到系统注册表,脚本文件在这sys.py。简单运行该sys.py程序后,就能添加python3.6到系统注册表了。下一步就是安装pywin32这个包了,还是像上面,运行该exe包,这时候就能出现上面那个能检测到python目录的界面,一直点击下一步,完成。

四、pyinstaller 3.3安装

直接用pip安装的pyinstaller是3.2.1版本(我这是17年11月份的情况,后来可能自动安装更高版本),但是pyinstaller 3.2.1不能打包成exe,会出现很多溢出错误。所以需要更新包,网上很多人说去github上下载最新版的pyinstaller,地址:https://github.com/pyinstaller/pyinstaller,下载后解压安装运行该包,然后将其中的PyInstaller 文件夹 复制到你安装pyinstaller的相应目录Python36\Lib\site-packages,进行替换。

但是!!!!我按照上述说法还是不行,最后我发现我的pycharm里说明了pyinstaller有新版本3.3,这时候我就,选中pyinstaller包,然后点击右边的向上箭头,就能升级为3.3版本了,下面就是我的包:

五、打包自己的py成exe

真是万事俱备只欠东风,都到这一步了,希望不会再出现错误。果然,一切顺利,成功打包python3.6项目成exe!!!下面是具体步骤:

首先建立一个python项目,然后到你的项目文件夹下,打开cmd,注意要是在该文件路径下,然后运行pyinstaller xxx.py即可。

1.建立xxx.py程序

2.cmd运行命令

打开cmd,运行pyinstaller xxx.py命令(我的文件名为threeD.py,我是用git bash运行的该命令,cmd也一样),发现不再报错,运行成功!!!

3.结果

会发现该文件夹下多了很多文件,点击dist,进去能发现一个exe文件,点击运行即可(我的程序是一个画图)

大功告成!!!!

4.优化

因为这个打包会出现很多需要依赖的文件,那如果我只想要一个exe怎么办呢?那么这时候就需要加一个-F参数就行:pyinstaller -F xxx.py就行了。

然后看自己文件夹dist下的exe文件:



发现原来那些依赖配置什么都打包到exe中了,所以这个exe比上一个图中的exe要大,但运行结果都是一样的。关于pyinstaller还有很多有趣的东西,比如设置好看的ico图标等,期待你的发现。













推荐阅读
  • 本文介绍了Composer依赖管理的重要性及使用方法。对于现代语言而言,包管理器是标配,而Composer作为PHP的包管理器,解决了PEAR的问题,并且使用简单,方便提交自己的包。文章还提到了使用Composer能够避免各种include的问题,避免命名空间冲突,并且能够方便地安装升级扩展包。 ... [详细]
  • 本文介绍了在Windows系统下安装Python、setuptools、pip和virtualenv的步骤,以及安装过程中需要注意的事项。详细介绍了Python2.7.4和Python3.3.2的安装路径,以及如何使用easy_install安装setuptools。同时提醒用户在安装完setuptools后,需要继续安装pip,并注意不要将Python的目录添加到系统的环境变量中。最后,还介绍了通过下载ez_setup.py来安装setuptools的方法。 ... [详细]
  • Python已成为全球最受欢迎的编程语言之一,然而Python程序的安全运行存在一定的风险。本文介绍了Python程序安全运行需要满足的三个条件,即系统路径上的每个条目都处于安全的位置、"主脚本"所在的目录始终位于系统路径中、若python命令使用-c和-m选项,调用程序的目录也必须是安全的。同时,文章还提出了一些预防措施,如避免将下载文件夹作为当前工作目录、使用pip所在路径而不是直接使用python命令等。对于初学Python的读者来说,这些内容将有所帮助。 ... [详细]
  • 通过Anaconda安装tensorflow,并安装运行spyder编译器的完整教程
    本文提供了一个完整的教程,介绍了如何通过Anaconda安装tensorflow,并安装运行spyder编译器。文章详细介绍了安装Anaconda、创建tensorflow环境、安装GPU版本tensorflow、安装和运行Spyder编译器以及安装OpenCV等步骤。该教程适用于Windows 8操作系统,并提供了相关的网址供参考。通过本教程,读者可以轻松地安装和配置tensorflow环境,以及运行spyder编译器进行开发。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 解决github访问慢的问题的方法集锦
    本文总结了国内用户在访问github网站时可能遇到的加载慢的问题,并提供了解决方法,其中包括修改hosts文件来加速访问。 ... [详细]
  • EzPP 0.2发布,新增YAML布局渲染功能
    EzPP发布了0.2.1版本,新增了YAML布局渲染功能,可以将YAML文件渲染为图片,并且可以复用YAML作为模版,通过传递不同参数生成不同的图片。这个功能可以用于绘制Logo、封面或其他图片,让用户不需要安装或卸载Photoshop。文章还提供了一个入门例子,介绍了使用ezpp的基本渲染方法,以及如何使用canvas、text类元素、自定义字体等。 ... [详细]
  • 零基础用Python打造Android字符串资源翻译器(五):增加图形化界面
    目录 ... [详细]
  • 【爬虫训练场】:分页爬虫案例设计Demo,Python Flask与MySQL的完美连接
    网站类应用,一定离不开MySQL,所以本案例将带着大家学习一下,通过Flask调用MySQL数据,并实现分页呈现。类被称作蓝图,它是一个存储操作方法的容器,Flask可以通过Blu ... [详细]
  • 我创建了一个SSH密钥,当我以admin身份在GitBash中运行ssh-Tgit@gitlab.com时,我得到W ... [详细]
  • 对于一般的扩展包,我们一般直接pipinstallxxx即可安装,但是unrar直接安装后,发现并不能通过Python程序实现解压的功能& ... [详细]
author-avatar
睿芬惠洁育瑋
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有