① 利用Pycharm将python程序生成.exe执行文件
文章分两部分:直接操作将python程序变成.exe文件;过程中碰到的问题。
一、如何操作,用Pycharm将Python程序生成.exe执行文件
在Pycharm中,打开程序,安装Pyinstaller,它是将程序转化为exe文件的工具。
其中Select_Data.py 是作者的主程序名称,你可以根据自己的主程序不同而变成不同名称;-F(注意大写)表示所有库文件打包成一个可执行文件,windows下是exe,Linux下是对应的可执行文件;-w是运行exe文件时禁止弹出黑色控制台窗口。如果你的项目调用了图片等本地资源,请将你的可执行文件放在对应目录才能运行。
执行pyinstaller -F Select_Data.py,不带-w生成Select_Data.exe,作者运行该exe后发现有个大黑框。
运行完成会多出几个文件,用红色框标出,其中需要的exe文件在dist文件夹中,点开dist文件夹,生成的exe就可以双击运行程序。
二、操作过程碰到的问题
解决方法:见文章描述,在Pycharm中安装Pyinstaller。
问题描述:如上图所示,错误提示Mole 'PyQt5' has no attribute '__version__',里面有PyQt5,因为的GUI程序使用tkinker搭建的,因此只有tkinker库,并没有PyQt5库。因此增加PyQt5库,方法是在Pycharm中安装PyQt5。
原因分析:在Pycharm中创建的虚拟环境所包含的库太大,一些用不着的库也都包含在里面了。找到对应包的位置,发现足足有1G大小。
解决方法:创建新的虚拟环境,安装自己需要的库,找到包的大小,只有133M。
背景描述:执行pyinstaller -F Select_Data_forALL.py报脚本文件未找到错误,可是明明主程序脚本文件存在。
解决方法:经查找DOS不支持Windows的长文件名, 因此将主程序名称改短些即可。
② 在WINDOWS上将Python文件转为生成可执行程序exe文件
闲话就不多说了,需要 Python 2.5 + Py2exe
Py2exe 下载地址 (http://sourceforge.net/projects/py2exe/files/ ) (直接安装即可)
步骤如下:
1.编译你的Py文件,确保无误,保存到…(例如:C:\old\test.py)
2.编辑一个内容如下的py文件,将其保存为(例如:C:\old\go.py )
from distutils.core import setup
import py2exe
setup(console=['test.py' ])
其中红色部分为第一步保存的文件名
3.运行CMD, 进入文件目录(例如:cd c:\old ),执行以下命令
运行:python go.py py2exe
红色部分为第二步保存的文件名
4.到相应文件夹下找到 .exe 文件( 例如 C:\old\dist 下找 test.exe )
完毕!