Python如何生成exe文件?用Pycharm一步一步带着你学(超详细、超贴心)

Python如何生成exe文件?用Pycharm一步一步带着你学(超详细、超贴心)目的描述:为了让没有安装Python的人也能使用我们编写的.py文件,我们需要将编写好的Python程序生成.exe文件。第一步下载pyinstallerpyinstaller插件是Python自带的插件,用于为我们写好的代码进行打包,最终自动合成.exe文件。在Pycharm界面的最下面,你可以看到Terminal,选择这个选项,这就是一个终端界面。在此界面写输入指令:pipin…

大家好,又见面了,我是你们的朋友全栈君。

目的描述:

为了让没有安装Python的人也能使用我们编写的.py文件,我们需要将编写好的Python程序生成.exe文件。

第一步 下载pyinstaller

pyinstaller插件是Python自带的插件,用于为我们写好的代码进行打包,最终自动合成.exe文件。

在Pycharm界面的最下面,你可以看到Terminal,选择这个选项,这就是一个终端界面。在这里插入图片描述
在此界面写输入指令: pip install pyinstaller 对pyinstaller进行下载。

在下载过程中,可能会遇到一些错误提示,解决方案可以参考我的另外几篇博客:
常见错误提示一:
You are using pip version 10.0.1, however version 20.0.2 is available.
You should consider upgrading via the ‘python -m pip install –upgrade pip’ command.

常见错误提示二:
NoneType’ object has no attribute ‘bytes

第二步 使用pyinstaller

在终端里输入的指令为: pyinstaller -w -F XXX.py

但是对于初学者来说,这里要解释的东西很多:
-w:表示希望在生成的.exe程序运行过程中,不要出现cmd黑框(就是图中的黑框)(注意:小写!)
在这里插入图片描述
-F:表示希望将所有的程序全部打包在一起,生成的只有一个.exe文件,这样的文件集成度高,但是运行速度慢;如果不写-F,生成的还有一堆.dll文件,这样的程序里文件很多,但是运行速度比较快,这也是我们平时使用的程序的样式(如图)(注意:大写!)
在这里插入图片描述
XXX.py:指的是你整个项目的入口程序,大家写项目时很可能是多文件编程,你整个项目时靠哪个文件作为入口拉起来的,就填那个文件的名字。

常见错误:
ValueError: script ‘C:\Users\Administrator.XXX.py’ not found
找不到XXX.py这个程序
在这里插入图片描述
解决方案:
pyinstaller找文件的方法是看你建立的那个工程文件夹里有没有你写进去的文件,而不是看子文件夹里有没有。如果您是在子文件夹中写程序,可以把你写的所有程序都拷贝到工程文件夹中。
如果你在代码中导入了图片、文档等与路径相关的文件,注意修改路径。

第三步: 找到生成的.exe文件

有不少同学都反映,没有看到生成的.exe文件。

没看见就对了,因为.exe文件根本不在工程文件夹下面。运行pyinstaller -w -F XXX.py指令后,会生成两个文件夹:一个叫build,另一个叫dist。
在这里插入图片描述
点开dist文件夹,里面会有一个用你填进去的XXX命名的文件夹,再点进去,你就会看到XXX.exe文件。
在这里插入图片描述
理论上你已经生成了.exe可执行文件,这样就完成了。如果你的.exe文件可以运行起来,那么恭喜你!但是实施情况是,这个.exe文件运行起来很有可能会有各种各样奇葩的问题:比如闪退、双击后直接消失了、程序莫名其妙地崩掉等。

如果遇到这些问题,大家千万不要慌张,因为这是很多人都会遇到的,网上也有很多人问这样的问题,我在这里只是给大家提个醒,让大家有个心理准备。不要觉得自己胜利在望,结果被闷头一棒。解决这些问题我也花了很长时间,之后我再专门写一篇博客来告诉大家如何解决这些问题的,敬请期待。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131834.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MyEclipse 快捷键

    MyEclipse快捷键1(CTRL)Ctrl+1快速修复Ctrl+D:删除当前行 Ctrl+Q定位到最后编辑的地方 Ctrl+L定位在某行Ctrl+O快速显示O

    2021年12月25日
    44
  • Linux游(1): diff, patch和quilt (下一个)

    Linux游(1): diff, patch和quilt (下一个)

    2021年12月17日
    49
  • 大整数乘法的详解

    大整数乘法的详解一.问题由于编程语言提供的基本数值数据类型表示的数值范围有限,不能满足较大规模的高精度数值计算,因此需要利用其他方法实现高精度数值的计算,于是产生了大数运算。尤其是乘法运算,下面就是大整数的乘法的过程(加减法都一样的原理)。二.解决问题的方法方法一(传统的相乘逐步相加)乘法规律,一个数的第i位和另一个数的第j位相乘,一定会累加到结果的第i+j位,结果的数组一个数组元素存2位数,最后对结果整除得到进位,mod得到余数就是i+j位的数字,最后打印出来。对于大整数比较方便的输入方法是,.

    2022年6月2日
    37
  • 使用工具清理Windows的winsxs目录

    使用工具清理Windows的winsxs目录一、使用软件工具清理1、使用DriverStoreExplorer清理DriverStoreExplorer下载地址:https://github.com/lostindark/DriverStoreExplorer/releases/download/v0.11.64/DriverStoreExplorer.v0.11.64.zip使用方法:(1)双击运行(使用管理员)(2)点击“选取旧的驱动”,之后点击“删除驱动包”2、使用Winsxs清理工具笔者吐槽:这个软件提供的论坛我上去看

    2022年10月28日
    0
  • goland 2021.05 激活码【在线破解激活】

    goland 2021.05 激活码【在线破解激活】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    56
  • c实现set集合

    c实现set集合集合有点编程语言会带有,有的没有。但是我想redis的集合set你一定听说过或者用过。下面咱们用链表来实现set相信有了前面的基础我们可以很容易的实现set集合需要引入我的链表的list.c和list.h头文件////set.h//set////Createdbybikangon16/9/18.//Copyright(c)2016年bikang.Allri

    2022年5月9日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号