Python生成可执行文件之PyInstaller库的使用方式
作者:Zachery. 发布时间:2021-11-29 00:41:49
概述:
可以将.py源代码转换成无需源代码的可执行文件(直接就可以运行的程序)
因为有的时候Windows,Mac,Linux系统上并没有安装Python的IDLE或者Python的解释器,我们需要将源程序首先编译或者打包成一个直接可以执行的程序。
安装:
PyInstaller库是第三方库,使用前需要额外安装。
打开Windows平台下的command命令行,输入pip install pyinstaller
pip install pyinstaller
如下图所示提示安装成功:
使用方式:
找到程序源代码,在源代码所在目录下,通过Windows命令行进行操作(因为Pyinstaller是命令行的执行程序,不是Python下的执行指令)
windows键+R键打开cmd命令,想要进入源代码所在目录。
先进入指定盘,例如在cmd中输入 D:,进入D盘。
然后需要进入指定目录,语法为:cd 路径,例如 cd D:\Windows\System32
在cmd命令行中,输入 pyinstaller -F 文件名.py
pyinstaller -F 文件名.py
执行完以上代码后(以上代码执行需要等待一段时间),打开所在目录,我们会发现在该文件夹中多了以下图中三个新文件夹。
其中__pycache__,和build文件夹可以删除。
而dist文件夹中生成了一个与源文件同名的exe文件,这个就是打包之后生成的可执行文件。可以鼠标双击该文件进入我们的可执行程序。
下图为可执行文件:
另一方案:
在源代码所在目录下,进入cmd命令行的另一种办法
在文件管理器中进入源代码所在文件夹。
在资源管理器的地址栏中输入cmd,按下回车键。则进入了该文件夹中的cmd命令行。
在cmd命令行中,输入 pyinstaller -F 文件名.py
pyinstaller -F 文件名.py
附:常用参数的使用方法如下
(1)-h
pyinstaller 命令的常用参数使用通过在命令行中输入: >pyinstaller –h即可,截取常用其中一段如下图所示:
(2)-i 或者--icon && -w
例如:--icon参数的使用如下:(指定打包程序使用的图标文件)
>pyinstaller -F --icon="D:\a.ico" D:\python_test.py
>pyinstaller -F -w -i D:\tmp\main.ico D:\python_test.py
-F 表示生成单个可执行文件,执行后dist目录中出现了python_test.exe文件,没有任何依赖库,执行它即可。
-w 表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!
-i 表示可执行文件的图标
使用 PyInstaller库需要注意以下问题:
◆ 文件路径中不能出现空格和英文句号(.);
◆ 源文件必须是UTF-8编码,暂不支持其他编码类型。采用IDLE编写的源文件都保存为UTF -8编码形式,可直接使用即可。
来源:https://blog.csdn.net/weixin_48270094/article/details/123906844
猜你喜欢
- Python socket网络编程初学 python,前段时间买了两本书《python 编程从入门到实践》《Python 核心编程第三版》,
- 一对多(ForeignKey)class ForeignKey(ForeignObject): def __init__(sel
- 本文实例为大家分享了微信小程序上传图片到php服务器的具体代码,供大家参考,具体内容如下js代码如下 submitPhoto(){ var
- 背景:先说一下应用吧,一般我们进行网络训练时,都有一个batchsize设置,也就是一个batch一个batch的更新梯度,能有这个batc
- 由于javascript无法获取img文件头数据,必须等待其加载完毕后才能获取真实的大小,所以lightbox类效果为了让图片居中显示,导致
- mktime()方法是localtime()反函数。它的参数是struct_time或全9元组,它返回一个浮点数,为了兼容时ti
- 一,元祖(tuple)1.元祖是不能修改的,通常写成圆括号中的一系列项,位置有序,固定长度2.实际上元祖支持字符串和列表的一般序列操作,“+
- 用for循环和海龟绘图实现漂亮的螺旋线A.课程内容本节课通过绘制复杂的螺旋线来深入学习for循环和range()函数的用法。深入了解循环的程
- 本文实例讲述了Python中逗号的三种作用。分享给大家供大家参考。具体分析如下:最近研究python 遇到个逗号的问题 一直没弄
- 好了,下面就是满足你设想的几个主程序,你还可以在实际应用中不断完善和扩充:login.asp' 考生验证<%@&nb
- os包想要使用os包一样要先导入:import osos包下可以直接调用的函数下面介绍一下os包中可以直接调用的函数:例子:例子:例子:注意
- 要想更好的理解 css, 尤其是 IE 下对 css 的渲染,haslayout 是一个非常有必要彻底弄清除的概念。大多IE下的显示错误,就
- 第一步:创建转向控制页面创建网站默认的首页文件(通常为"index.asp"或"default.asp&quo
- 生活形态(Life-Style)的概念源自社会学与心理学,六十年代即有学者正式引用到市场营销领域,并运用其心理影射与多维度等特质,着力解释人
- 一、前言进程,一个新鲜的字眼,可能有些人并不了解,它是系统某个运行程序的载体,这个程序可以有单个或者多个进程,一般来说,进程是通过系统CPU
- 这一段时间,我在进行“09帮助中心升级”项目,负责其中的白板和视觉设计,总算和Axure有了第一次的正式会晤。由于之前已经零散地学习过一些A
- 这篇文章主要介绍了opencv python Canny边缘提取实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的
- 引言本文以Python3.9.1读取data.xlsx中包含的西瓜数据集3.0数据为例,数据集如下:编号色泽根蒂敲声纹理脐部触感密度含糖率好
- 本文实例讲述了Python实现正弦信号的时域波形和频谱图。分享给大家供大家参考,具体如下:# -*- coding: utf-8 -*-#
- 今年年初,新一季的《最强大脑》开播了,第一集选拔的时候大家做了一个数字游戏,名叫《数字华容道》,当时何猷君以二十几秒的成绩夺得该项目的冠军,