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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux服务器配置(详细版)[通俗易懂]

    本来就很麻烦,如果错了一个很有可能从新再来,非常麻烦所以要细心Linux命令1.进入文件夹cd文件夹名称2.复制文件夹cp文件名指定目录copy文件到指定目录例如cp文件名称文件路径/var/www例子cp/root/gqxnb/gqx/var/www3.查看文件夹目录lsattr[-adRvV][文件或目录…]选…

    2022年4月14日
    48
  • jQuery省市区三级联动插件

    体验效果:http://hovertree.com/texiao/bootstrap/4/支持PC和手机移动端.手机扫描二维码体验效果:代码如下:数据来源:http://hovertree.co

    2021年12月22日
    43
  • sqlserver数据库数据迁移_mysql 数据库迁移

    sqlserver数据库数据迁移_mysql 数据库迁移前言:在我们开发某些项目后,难免会遇到更换服务器,重新部署数据库的时候,那么问题来了?究竟怎么如何操作才能达到最佳效果;起源:(1):起初仅仅是为了测试用,所以迁移的时候不必把数据库中的数据全部迁移过去,仅仅需要数据库的架构即可;(2):某些时候需要更换服务器,那么此时已经在内部存储了大量数据了,此时只能把架构+数据全部迁移过来;解说:以本地“Login”数据库为例,帮助大…

    2022年10月19日
    5
  • java中线程池参数设置

    java中线程池参数设置本文主要介绍线程池是解决了哪些问题以及线程池中的corePoolSize(核心线程数),queueCapacity(等待队列的长度),maximumPoolSize(最大核心线程数)。本文不会对线程池各个参数介绍,假定你已经了解了线程池各个参数的含义。1为什么要有线程池呢?当前实际应用中,经常会遇到单个请求处理时间短但请求量巨大但问题,简单说就是qps很高,平响时间很短的情况。…

    2022年6月5日
    80
  • 记一次遇到挖矿程序的经历「建议收藏」

    记一次遇到挖矿程序的经历「建议收藏」就在几天前,遇到了一次挖矿程序偷偷装在ECS阿里云服务器上的经历。那是一个风和日丽的上午,我和往常一样来到公司,倒杯水等待电脑打开,之后打开日常维护的几个系统。结果其中有一个OA系统,发现无法正常打开。一开始我以为是网络问题,但是发现打开其他网站正常,于是登上服务器准备探个究竟。登陆云服务器后,重启OA服务,发现报错,报错提示连接线程池连接不上。根据提示,怀疑是连不上部署在本地的数据服…

    2022年4月20日
    43

发表回复

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

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