我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Pythonpyinstaller库的安装配置教程分享

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Pythonpyinstaller库的安装配置教程分享

简要

pyinstaller模块主要用于python代码打包成exe程序直接使用,这样在其它电脑上即使没有python环境也是可以运行的。

用法

一.安装

pyinstaller属于第三方库,因此在使用的时候需提前安装

pip install pyinstaller

二.配置spec文件

1.配置生成exe程序文件夹

(1)如果不熟悉spec配置内容,可以在终端运行如下指令生成固定模板

pyinstaller --name myapp main.py  # myapp为生成的spec文件名称,main.py为打包的文件

(2)运行完后我们会看见如下几个文件,dist和build直接删除即可。我看打开myapp.spec文件可以看见配置信息。

# -*- mode: python ; coding: utf-8 -*-


block_cipher = None


a = Analysis(
    ['main.py','hello.py'],  #注:要打包的模块,按照先后顺序运行
    pathex=['C:/Users/pythonProject'],  #注:要打包的Python源代码的路径列表。
    binaries=[], 
    datas=[],  #注:要打包的非Python资源(例如图像、配置文件等)列表。
    hiddenimports=[''requests],  #注:必需的隐藏导入列表,用于告诉PyInstaller找到其他未明确指定的依赖项。
    hookspath=[],  #注:一个路径列表,其中包含指定要自定义的钩子模块的目录。
    hooksconfig={},  #注:
    runtime_hooks=[],  #注:用于在应用程序运行时运行的Python代码文件列表。
    excludes=[],  #注:不包括在生成的可执行文件中的模块列表
    win_no_prefer_redirects=False,  #注:
    win_private_assemblies=False,
    cipher=block_cipher,  #注:用于加密Python字节码的密码。
    noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)

#注:a.pure: 一个布尔值,指示是否生成纯Python字节码。如果为True,则PyInstaller将不包括任何二进制文件或库。

a.zipped_data: 用于包含OneFile模式下的所有Python脚本和资源的元组。

exe = EXE(
    pyz,  #注:一个PYZ实例,其中包含要打包的所有Python脚本和资源。
    a.scripts,  #注:应用程序的主Python脚本列表。
    [],
    exclude_binaries=True,
    name='myapp',  #注:生成exe可执行文件的名称
    debug=False,  #注:一个布尔值,指示是否生成调试版本的可执行文件
    bootloader_ignore_signals=False,  #注:一个布尔值,指示是否忽略启动加载器的信号。
    strip=False,  #注:一个布尔值,指示是否对可执行文件进行符号剥离。
    upx=True,  #注:一个布尔值,指示是否使用UPX压缩可执行文件
    console=True,  #注:是否开启dos窗口
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
   icon:'图标.ico'  #注:用户生成exe文件的封面,后缀必须是ico格式,转换地址:https://convertio.co/zh/download/88c5806204642c8a1c10e65b1bef9b5886f6d8/
)
coll = COLLECT(
    exe,  #注:你的Python脚本生成的可执行文件路径(通常是与spec文件同名的文件)
    a.binaries,  #注:二进制对象列表,表示其他相关二进制文件的位置以及将它们复制到输出目录的相对路径。例如,如果您的应用程序需要音频或图像文件,则可以使用此参数将其包含在可执行文件中。
    a.zipfiles,  #注:压缩文件列表,表示应该从zip文件中提取哪些文件并将它们放入输出目录。这对于打包一些必需的库或数据文件非常有用。
    a.datas,  #注:数据文件列表,这些文件不应被压缩,但应该被复制到输出目录中。例如,这可能包括配置文件、模板文件或其他类型的文本文件。
    strip=False,  #注:是否从可执行文件和库中去除调试信息。默认情况下为True,这将减小文件大小,但会使得调试更加困难。
    upx=True,  #注:是否使用UPX来压缩可执行文件和库。默认情况下为False,因为UPX可能会导致某些文件无法正常工作。
    upx_exclude=[],  #注:
    name='myapp',  #注:打包文件夹名称。
)

(3)通常我们只需要配置需要打包的模块+pathex+生成exe文件的名称+exe存在目录的名称,配置完后直接在终端输入指令进行打包。

pyinstaller  myapp.spec

(4)打包完成后在项目所在目录下可以看下dist文件,dist文件下一目录就是打包文件夹,文件夹下面就是所在的程序。这里需要注意的是,因为我们打包的是文件夹,因此发给别人使用的时候,因把整个文件夹发过去,才能正确运行。

 (5)配置要打包的模块,若模块之间存在import连接,可直接打包最终(main)运行的那个模块即可,pyinstaller会默认把main涉及的impor(.py+第三方库)全部一起打包。若两个py模块相互没有任何关联,这个时候可以打包多个。

2.配置生成独立的exe文件

(1)这里和上面步骤一样,先生成模板

pyinstaller -F main.py

(2)模板大概样式如下,字段意思和上面一致。

# -*- mode: python ; coding: utf-8 -*-


block_cipher = None


a = Analysis(
    ['main.py'],
    pathex=[],
    binaries=[],
    datas=[],
    hiddenimports=[],
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    win_no_prefer_redirects=False,
    win_private_assemblies=False,
    cipher=block_cipher,
    noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)

exe = EXE(
    pyz,
    a.scripts,
    a.binaries,
    a.zipfiles,
    a.datas,
    [],
    name='hello',
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    upx_exclude=[],
    runtime_tmpdir=None,
    console=True,
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
)

(3)配置完成后终端运行指令打包,打包完成后会看见dist目录下只有一个exe文件。

pyinstaller  myapp.spec

除了配置spec文件,还可以直接通过pyinstaller指令来直接打包,这里就不做多介绍了

到此这篇关于Python pyinstaller库的安装配置教程分享的文章就介绍到这了,更多相关Python pyinstaller库内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Pythonpyinstaller库的安装配置教程分享

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Pythonpyinstaller库的安装配置教程分享

pyinstaller模块主要用于python代码打包成exe程序直接使用,这样在其它电脑上即使没有python环境也是可以运行的。本文就来和大家分享一下pyinstaller库的安装配置教程,希望对大家有所帮助
2023-05-17

Anaconda和Pycharm的安装配置教程分享

这篇文章主要介绍了Anaconda和Pycharm的安装配置教程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-02-23

Windows下Anaconda下载安装与配置教程分享

这篇文章主要介绍了Windows下Anaconda下载安装与配置教程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-12-15

Linux mysql安装配置教程 linux中mysql最新安装配置教程

本篇文章提供了在 linux 系统中安装和配置 mysql 数据库的详细教程。该教程适用于希望在 linux 服务器或个人计算机上运行 mysql 数据库的用户,涵盖从安装 mysql 软件包到配置服务器和数据库实例的各个步骤。通过遵循本教
Linux mysql安装配置教程 linux中mysql最新安装配置教程
2024-10-17

MariaDB的安装与配置教程

目录MariaDB的安装与配置1.安装相对应的源2.清除缓存,加载配置3.安装mariadb4.启动mariadb5. 查看mariadb进程6.MariaDB数据库初始化7.初始化测试登陆8.MariaDB设置utf8编码(根据实际需求添
2022-06-29

Grafana的安装与配置教程

这篇文章主要讲解了“Grafana的安装与配置教程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Grafana的安装与配置教程”吧!一: 简介Grafana 是一个开源仪表盘工具,它可用于G
2023-06-04

Centos7.7安装及配置教程

以下是CentOS7.7安装及配置的教程:1. 下载CentOS 7.7的ISO镜像文件,可以在CentOS官网上找到并下载。2. 使用软件(如Rufus)将ISO镜像文件写入USB设备或者光盘。3. 将USB设备或者光盘插入需要安装Cen
2023-09-21

Python离线安装包教程分享

这篇文章主要介绍了Python离线安装包教程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-02-08

MySQL 8.0.26 安装配置教程

文章目录 MySQL 8.0.26 安装配置教程1. 简介2. 下载2.1 官网下载2.2 云盘下载 3. 安装4. 配置5. 配置环境变量5. 测试 MySQL 8.0.26 安装配置教程 1. 简介 数据库软件的
2023-08-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录