相关文章推荐
奋斗的荔枝  ·  Regex.Replace Method ...·  1 年前    · 
酒量小的创口贴  ·  Exemple de cookie ...·  1 年前    · 
失落的棒棒糖  ·  Word) ...·  1 年前    · 
利用Pycharm将Python程序生成.exe执行文件

利用Pycharm将Python程序生成.exe执行文件

文章分两部分:①直接操作将python程序变成.exe文件;②过程中碰到的问题。

一、直接上手,如何操作,用Pycharm将Python程序生成.exe执行文件

1、先写好自己的程序,这根据自己的需求编写,笔者写的程序如下,红框代表主程序。

2、上Pycharm,打开程序,安装Pyinstaller, 这就是将程序转化exe的工具。

安装有2种方法:

方法①:在设置里添加,具体步骤见下图

1、Pycharm左上角 File 选择Settings


2 Python Interpreter - > 点击图中第2步 “+” 号

3 检索pyinstaller ,选中点击安装

方法②:打开Pycharm ,点击Terminal终端,而后在编辑栏输入pip install pyinstaller即可安装。



3、生成exe

在Terminal框中编辑 pyinstaller -F -w Select_Data.py

其中Select_Data.py 是笔者的主程序名称,你可以根据自己的主程序不同而变成不同名称;

-F(注意大写)是所有库文件打包成一个可执行文件,windows下是exe,Linux下是对应的可执行文件;

-w是运行exe文件时禁止弹出黑色控制台窗口。如果你的项目调用了图片等本地资源,请将你的可执行文件放在对应目录才能运行。

下图是执行pyinstaller -F Select_Data.py,不带-w生成Select_Data.exe,笔者运行该exe后发现有个大黑框。

执行生成exe语句
不带-w 生成exe,执行该exe有个大黑框;如有-w生成exe,运行exe则无黑框

运行完成会多出如下几个文件,用红框标出,其中需要的exe文件在dist文件夹中

点开dist文件夹,生成的exe


就可以双击exe直接运行程序,运行效果见下图

执行exe文件效果

至此,基于Pycharm将Python程序生成可执行exe文件的所有步骤均已完成。

后面再说些笔者遇到的坑。


、操作过程碰到的问题

1 安装Pyinstaller问题

问题描述: 百度一下如如何将python生成exe文件,搜索的方法清一色均是用cmd命令--->pip3 install pyinstaller,然后我用pip命令安装后总是报如下错误,试了很多种方法均没有解决。也许有些人能直接安装吧。。。。。。

解决方法: 见文章上面描述, 2、上Pycharm,打开程序,安装Pyinstaller, 这就是将程序转化exe的工具

百度搜索方法链接均是用pip安装

2 执行pyinstaller -F -w Select_Data.py报错: raise AttributeError(

AttributeError: Module 'PyQt5' has no attribute '__version__'。见下图


问题描述: 见上图描述

解决方法: 仔细看错误AttributeError: Module 'PyQt5' has no attribute '__version__',里面有PyQt5,因为的GUI程序使用tkinker搭建的,因此只有tkinker库,并没有PyQt5库。也许是tkinker库有引用到PyQt5,因此直接增加PyQt5库,方法见上文: 2、上Pycharm,打开程序,安装Pyinstaller, 这就是将程序转化exe的工具 ,关键字检索PyQt5,安装即可


3 生成的exe文件太大

问题描述: 笔者生成的exe文件300多M,整个.py文件都没有几k,生成的exe大小300M,太不便捷了。

原因分析: Pycharm中创建的虚拟环境所包含的库太大,一些用不着的库也都包含在里面了。见图虚拟环境路径,C:\install\anaconda\python.exe,找到对应包的位置:C:\install\anaconda\Lib\site-packages,见下图。发现足足有1G大小。

Pycharm查找虚拟环境
根据虚拟环境为查找包位置
包的大小

解决方法: 创造新的虚拟环境,安装自己需要的库,根据虚拟环境路径找到包的大小见下图,只有133M。

创建新的虚拟环境方法见链接:

创建新虚拟环境
新虚拟环境包的大小

而后在Pycharm 的Terminal终端继续输入pyinstaller -F -w Select_Data.py,最终得到的exe只有29M,减小了10倍。

运行生成exe语句Terminal终端显示
新的exe大小减少10倍


4 执行pyinstaller -F Select_Data_forALL.py报脚本文件未找到错误

script 'F:\process_data\polar_curve\SelectData_exe\Select_Data_forALL.py' not found

背景描述: 执行pyinstaller -F Select_Data_forALL.py报脚本文件未找到错误,见下图。可是明明主程序脚本文件存在。

解决方法: 经查找DOS不支持Windows的长文件名, 因此将主程序名称改短些即可。即将pyinstaller -F Select_Data_forALL .py ------>换成pyinstaller -F Select_Data .py即可

编辑于 2023-05-20 01:03 ・IP 属地江苏