欢迎来到今天的讨论,我们将探讨,在哪下载python安装包 在哪下载python程序,让我们开始吧!
大家好,小编来为大家解答以下问题,如何把python 代码打包成可执行软件,python写的代码如何打包成应用软件,今天让我们一起来看看吧!
我们有时候会编写Python脚本来辅助我们执行一些重复的操作PHP缩写与全称之辩:实用性与准确性的较量。但是这些脚本在实际使用中会有一些不方便:
我们通常需要进入终端或者IDE中来运行脚本(当然,有办法可以实现双击脚本文件直接运行,但这不在今天的讨论范围内)pythonturtle绘制树。
如果把脚本迁移至其他电脑上,那么Python环境变化,比如新电脑上没有安装Python,或者缺乏该脚本所调用的包等,脚本有很大概率无法正常运行。
这时候,我们可以将脚本打包成一个可以独立运行的应用程序,点开即用,解决上述问题。第三方包Pyinstaller可以实现将Python脚本打包成.exe格式的应用程序,现在以一个例子来介绍使用方法。
首先介绍一下开发的环境。
按照开发习惯,我们的Python脚本在虚拟环境中开发。
项目的路径:D:\myProject\
虚拟环境路径:D:\myProject\virtualEnvironment\
脚本存放路径:D:\myProject\code\
首先在VS code中运行脚本看看效果。这个脚本可以生成一个科研软件所需的csv格式数据,具有一个简单的GUI界面,方便用户设置生成内容。
我们要做的就是将.py格式、需要依赖开发环境的脚本文件打包成一个可以独立运行的.exe格式应用程序。
安装Pyinstaller
脚本在虚拟环境中开发,因此我们也在这个虚拟环境中安装Pyinstaller。保险起见,在终端中强制采用虚拟环境中的pip来安装:
D:\myProject\virtualEnvironment\Scripts\python -m pip install pyinstaller
安装完成之后,在虚拟环境中“Scripts”目录下可以看到一些新增的应用程序,其中就是用于打包脚本的。
将脚本打包成exe应用程序
使用Pyinstaller将Python脚本打包成exe应用程序,最基础的命令是:
pyinstaller
为了提高打包成功率,让打包过程更加清晰可控,我推荐以下步骤。
首先打开一个终端,cd至保存exe应用程序的目录。例如,我们在项目目录中新建一个“exe”文件夹,并cd至此:
cd D:\myProject\exe\
然后命令pyinstaller对脚本进行打包:
D:\myProject\virtualEnvironment\Scripts\pyinstaller -F D:\myProject\code\
在上述指令中,
D:\myProject\virtualEnvironment\Scripts\pyinstaller是pyinstaller的完整路径。
D:\myProject\code\是被打包的Python脚本的完整路径。
D:\myProject\exe\是存放生成的exe应用程序的目录。
打包过程是清晰明确的。
打包完成后,我们查看D:\myProject\exe\目录,可以看到一些新建的文件夹,进入D:\myProject\exe\dist目录,可以看到生成的应用程序。
双击应用程序,脚本成功启动。
这样,脚本所需的环境已经被打包至.exe程序中,脚本的运行将不再需要依赖外部的Python开发环境了。将拷贝至另一台电脑,即使电脑未安装Python,脚本也可以顺利启动。
Python脚本有时候需要调用外部文件,这会涉及到“根目录”和“相对路径”的问题。经过实测,当我们把脚本打包成exe应用程序时,exe应用程序所在的目录即为“根目录”。
进阶:消除命令窗口、自定义图标
以上操作所打包生成的exe应用程序在启动时会打开一个黑色的命令窗口,不美观,我们可以在执行打包命令时添加 -w 来消除这个命令窗口:
D:\myProject\virtualEnvironment\Scripts\pyinstaller -F -w D:\myProject\code\
这样生成的exe应用程序在启动时就不会有这个黑色的命令窗口了。
另外,生成的exe应用程序的图标亦可自定义,支持.ico格式的图标文件。在执行打包命令时添加-i来指定图标文件即可:
D:\myProject\virtualEnvironment\Scripts\pyinstaller -F -w -i D:\myProject\ D:\myProject\code\
这样生成的exe应用程序的图标就是我们自定义的图标了。
尾声
以上介绍的操作,基本可以覆盖我们对Python脚本打包的需求。本例子都是在虚拟环境中进行的,但是所展示的操作都可以轻易地推广到在原生Python环境中进行,故不再赘述。
感谢阅读。
欢迎关注公众号「南贝塔」:关注 「射频 / Python 数据分析」,分享拙劣的开发技巧,粗浅地讨论领域动态。
原文地址1:https://blog.csdn.net/chatgpt001/article/details/135570030
参考资料:python中用turtle画一个圆形 https://blog.csdn.net/SXIAOYAN_/article/details/140061099