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


猜你喜欢
- 本文实例讲述了php指定长度分割字符串str_split函数用法。分享给大家供大家参考,具体如下:示例1:$str = 'abcde
- 我们平日办公时用得最多的软件是Execl、Word或WPS Office等,你的计算机中一定储存着大量的XLS、DOC、WPS文件吧!网页制
- 1、引言续上一篇《一行代码,导入Python所有库》不知道是不是都跟小鱼一样,把剩下的时间来学(撩)习(妹)。为了体现小鱼在懒上的造就,小鱼
- Gevent官网文档地址:http://www.gevent.org/contents.html进程、线程、协程区分我们通常所说的协程Cor
- turtle的文档:https://docs.python.org/3/library/turtle.html用Python的turtle库
- 吐槽一下企业微信的api文档真的不好读······企业微信本来是有功能,可以直接把图片显示到正文的,但是那个api我调用一直出错,各种折腾也
- 兄弟组件之间的通信同样是在项目中经常会遇到的组件间的通信问题之一, 这种问题的最根本方法就是: 把兄弟组件内部的变量提升到一个中央仓库。借助
- 利用Python中的socket模块中的来实现UDP协议,这里写一个简单的服务器和客户端。为了说明网络编程中UDP的应用,这里就不写图形化了
- 目录1.垂直(纵向)切分1.1 垂直分库 1.2 垂直分表 2. 水平(横向)切分2.1 根据数值范围2.2 根据数值取
- PyTorch: https://github.com/shanglianlm0525/PyTorch-Networksimport tor
- 代码如下:create table T_NEWS ( ID NUMBER, N_TYPE VARCHAR2(20), N_TIT
- 代码很简单,只需要2行代码就可实现想要的功能,虽然很短,但确实使用,主要使用了requests库。测试2XX, 3XX, 4XX, 5XX都
- var header1 = document.getElementById("header"); var p = doc
- Pandas处理CSV文件,分为以下几步:读取Pandas文件统计列值出现的次数筛选特定列值遍历数据行绘制直方图(柱状图)读取Pandas文
- 链接的 target 属性怎么用 JS 来控制? 在HTML 4.0 Strict和XHTML 1.0 STRICT里不允许在<a&g
- PHP Too few arguments to function的解决过去自定义函数的时候如果参数不足,则会抛出一个警告,但是在7.1开始
- cookie :是用户保存在用户浏览器端的一对键值对,是为了解决http的无状态连接。服务端是可以把 cookie写到用户浏览器上,用户每次
- 这篇文章主要介绍了python接口自动化如何封装获取常量的类,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- 这一次将使用pymysql来进行一次对MySQL的增删改查的全部操作,相当于对前五次的总结:先查阅数据库:现在编写源码进行增删改查操作,源码
- CSS写法:overflow-y:visible本代码适用平台:IE6,IE7演示:<textarea style="wid