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


相关推荐

  • oracle 解锁表

    oracle 解锁表操作的前提用sys用户以SYSDBA角色登录第一种解锁方式1.查询被锁的表selectobject_name,machine,s.sid,s.serial#fromv$locked_objectl,dba_objectso,v$sessionswherel.object_id = o.object_idandl.session_id=s.sid;2.查询…

    2022年6月15日
    31
  • BindService的绑定

    BindService的绑定publicclassMainActivityextendsActivity{privateMBindmBind;protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); I…

    2022年5月31日
    38
  • [算法系列之十二]字符串匹配之蛮力匹配

    [算法系列之十二]字符串匹配之蛮力匹配引言字符串匹配是数据库开发和文字处理软件的关键。幸运的是所有现代编程语言和字符串库函数,帮助我们的日常工作。不过理解他们的原理还是比较重要的。字符串算法主要可以分为几类。字符串匹配就是其中之一。当我们提到字符串匹配算法,最基本的方法就是所谓的蛮力解法,这意味着我们需要检查每一个文本串中的字符是否和匹配串相匹配。一般来说我们有文本串和一个匹配串(通常匹配串短于文本串)。我们需要做的就是回答这个匹配串是

    2022年8月21日
    7
  • 修给linux用户密码报错Authentication token manipulation error

    修给linux用户密码报错Authentication token manipulation error修给linux用户密码报错Authentication token manipulation error

    2022年4月24日
    50
  • python爬虫滑动验证码_python爬虫爬取京东优惠线报

    python爬虫滑动验证码_python爬虫爬取京东优惠线报如何自动登陆京东?我们先来看一下京东的登陆页面,如下图所示:【插入图片,登陆页面】登陆框就是右面这一个框框了,但是目前我们遇到一个困呐,默认的登陆方式是扫码登陆,如果我们想要以用户民个、密码的形式登陆,就要切换一下。我们看一下这两种登陆方式是如何切换的,通过浏览器的元素检查,我们看一下两个标签。【插入图片,两种登陆方式】扫码登陆和用户登陆分别在一个div标签里面,我们可以通过css选择器选定用户登…

    2022年9月18日
    2
  • .9图片报错Execution failed for task ‘:app:mergeDebugResources’. > Crunching Cruncher scrollbar_thumb.9.p

    .9图片报错Execution failed for task ‘:app:mergeDebugResources’. > Crunching Cruncher scrollbar_thumb.9.p

    2021年9月30日
    44

发表回复

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

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