手把手教你给Python程序写图形界面,并且打包成exe文件

手把手教你给Python程序写图形界面,并且打包成exe文件,第1张

官网下载Python3,LZ的配置环境是Python3.6,PyCharm 2017.2.1

File->Settings->Tools->External Tools,点击+好配置好即可,LZ已经配置好了,刚开始是没有的

Program里面填designer.exe的位置,Working directory里面点击右面的Insert按钮,插入和图片一样的值即可

Program里面填python.exe的安装目录,Parameters里面填如下内容

Working directory点击右面Insert按钮插入相同内容即可

兴建一个项目,右键点击项目->External Tools->QtDesigner,d出QtDesigner的图形界面如下,LZ拖入了2个按钮

这时你会发现多了一个untiled.ui文件,文件名LZ用的是默认的,右键点击这个ui文件->External Tools->PyUIC,这时文件夹下多了一个untitled.py文件,打开untitled.py,加入以下内容Ctrl+Shift+F10运行即可

untitled.py

运行结果

LZ用的是pyinstaller,pyinstaller不支持Python3.6,无奈又下载了一个Python3.5的环境,运行和打包在Python3.5下,工具用的是Python3.6下的,也不影响已经配置好的工具的使用,命令行中输入一下即可

在命令行中进入要打包的py文件所在的目录,输入一下命令

然后到py文件所在目录的dist文件中,打开exe,结果一闪而退,原来是找不到外部的动态链接库,输入一下命令,指明外部链接库

-F的效果是打包成一个单文件,-w的效果是取消控制台。

这个是我开发的,将doc文件批量转为docx的小工具,源码放在github上,大家可以参考

https://github.com/erlieStar/doc2docx

欢迎star

pyinstaller能够在Windows、Linux等 *** 作系统下将Python脚本打包成可直接运行程序。使Python脚本可以在没有安装Python的环境中直接运行,方便共享。

python 2.7.12 + Windows7

1.待转换的.py文件绝对路径最好不要包含中文字符。容易出现一些莫名其妙的问题。

2.python中需要有.py文件中用到的第三方库。否则在转换后的.exe文件中会出现不符合预期的结果。

1.配置pip镜像源。

在用户家目录下创建pip目录和pip.ini文件。方法如下

step1: 获取HOMEPATH变量对应的路径,执行 set HOMEPAT H也可以执行 echo %HOMEPATH% 获取。

上述结果说明用户家目录HOMEPATH对应的路径为C:\Users\Administrator。

step2: 在C:\Users\Administrator目录下创建pip目录,并在pip目录下创建pip.ini文件。如果已经有pip目录和pip.ini文件,跳过。 特别说明的是,pip.ini文件的后缀是.ini,注意隐藏扩展文件名可能造成的影响。 在pip.ini文件中添加相关内容并保存:

step3: 测试pip工具,确认是否能够自动安装第三方库,如使用pip自动安装Pexpect类库。

step4: 进入python工具,执行import pexpect导入模块命令,没有报错说明pip自动安装pexpect库成功。

step5: 结束安装,后续安装第三方库就可以在任意路径下直接执行pip install ${PackageName}进行安装。

2.打开cmd命令行窗口,输入 pip install pyinstaller ,安装pyinstaller库。

3.确认pyinstaller安装结果,位于c:\Python27\Scripts路径下。执行 where pyinstaller 查看

pyinstaller [options] script

例如: pyinstaller -F myscript.py

options常用选项说明:

pyinstaller其实就是把python解释器和脚本打包成一个可执行文件,和编译成真正的机器码是完全两回事。所以打包不一定会提高运行效率,可能会降低运行效率,但是好处是在运行者机器上不用安装python和脚本所依赖的库。

输入指定的脚本后,首先pyinstaller会分析该脚本所依赖的其他依赖,然后进行查找、复制,把所有相关的依赖都收集起来并进行加密处理,包括python解释器,最后把这些文件放在一个目录下,或者打包到一个可执行文件,然后就可以直接运行所生成的可执行文件。

需要注意的是,使用pyinstaller打包生成的可执行文件,只能再和打包机器系统相同的环境下运行。32位python环境打包的程序可以运行在32/64位windows系统上。64位python环境打包的程序只能运行在64位windows系统上。所以如果想打包程序的话,建议使用32位python环境打包。

1.确认待转换的.py文件可正确运行,不存在语法错误。如ccc.py

2.执行 pyinstaller -F ${Python脚本名} 完成文件转换。.exe文件生成的绝对路径会在倒数第二行显示,通常位于当前目录下dist所在目录下。转换后的.exe文件名与python文件名相同。如下图所示

1.如果Python脚本使用到了第三方库,如何打包?

方法一:将第三方库对应的包复制到待打包python脚本的同目录下,再执行打包命令。

方法二:pyinstaller.exe -F 路径\文件名.py 路径\文件名.py

2.我的python脚本主要是命令行输出,但是程序执行完就退出无法查看相关信息,如何处理?

在python脚本最后一行添加命令:os.system('pause') 或者 raw_input('Press enter any key to exit...')

3.我想给我的打包后的执行程序换个图标,如何处理?

使用参数-i。如命令:pyinstaller -F -i tupian\qq.ico ccc.py。文件后缀名必须是.ico

4.程序运行出现CMD窗口,如何去除?

带上参数-w即可。pyinstaller.exe -F call_login.py -w (-w表示去掉控制台窗口显示)

5.pip配置镜像源参考

python提供pyinstaller库将代码打包成exe可执行文件,步骤如下:

1.安装pyinstaller

安装的方式如同安装导入其他包一样,使用pip,执行命令:

pip3 install pyinstaller

自动下载并安装。

2.打包并转换成exe

打开终端,进入到需要转换的python文件路径下,执行命令:

pyinstaller -F -w (-i icofile) filename

参数说明:

filename:Python文件名

-w :表示隐藏程序运行时的命令行窗口(不加-w会有黑色窗口)

-i icofile:可选参数(可不要),表示给程序加上图标,图标必须为.ico格式。icofile表示图标所在路径,建议直接放在python同一路径下,这样子打包的时候直接写文件名就好。

3.打包成功

命令执行成功后,会生成N个文件夹,所需要的exe文件就在dist文件夹里。

至此,在windows下将python文件转成exe就这样搞定了。

推荐课程:Python高级进阶视频教程


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8082134.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存