python项目生成exe

前言

做了个python的小项目,需要打包为桌面端的exe使用,结果一打包,体积直接上百兆了,研究了下,使用虚拟环境打出的包会更干净小巧。

安装anaconda

  1. anaconda用作python的虚拟环境管理工具,安装命令:https://repo.anaconda.com/archive/Anaconda3-2023.03-Windows-x86_64.exe

  2. 配置anaconda环境变量
    win+i 搜索“高级系统设置”,打开
    python项目生成exe
    点击环境变量
    python项目生成exe
    双击系统变量中的Path
    python项目生成exe
    依次添加系统环境变量(需视anaconda安装目录而定):
    D:\anaconda
    D:\anaconda\Library\mingw-w64\bin
    D:\anaconda\Library\usr\bin
    D:\anaconda\Library\bin
    D:\anaconda\Scripts
    python项目生成exe

  3. 依次返回确定保存

创建anaconda虚拟环境

  1. 打开anaconda prompt
    python项目生成exe

  2. 创建anaconda虚拟环境:conda create -n env_1 python==3.7.9(可自行选择版本)

  3. 验证是否创建成功:python -V
    python项目生成exe

  4. 常用anaconda命令:
    导出虚拟环境的列表:conda env list
    导出当前环境的包:conda list
    启动/切换至名为name的Python环境:conda activate name
    退出虚拟环境:conda deactivate
    删除虚拟环境:conda remove -n 环境名 --all

  5. 在虚拟环境中安装python打包工具pyinstaller,以及其他自己在项目中使用到的包:
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller(国内使用清华源较快)

vscode选择python解释器

  1. 打开vscode,按下ctrl+shift+p

  2. 输入:Python: Select Interpreter,点击出现的选项
    python项目生成exe

  3. 点击:输入解释器路径-查找
    python项目生成exe

  4. 确认选中anaconda安装路径下刚生成的虚拟环境的python.exe文件
    python项目生成exe

设置vscode默认终端为cmd

  1. 点击选择默认配置文件
    python项目生成exe

  2. 点击选中Command Prompt
    python项目生成exe

  3. 关闭vscode,重新使用vscode打开项目,按下shift+ctrl+` ,查看是否使用cmd切换为了虚拟环境
    python项目生成exe

生成spec文件

  1. spec文件就是pyinstaller打包时的配置文件(语法为python语法),控制台输入命令:pyi-makespec -F -w main.py(main为生成的spec文件的文件名)

  2. 编辑spec文件

# -*- mode: python ; coding: utf-8 -*-
def getExeName(): # 获取名字与版本
    import config
    return config.name + '-' + config.version
block_cipher = None
a = Analysis(
    ['main.py'], # 需要打包的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=getExeName(), # 打包后的名字
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    upx_exclude=[],
    runtime_tmpdir=None,
    console=False, # 双击exe是否显示cmd窗口
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
    icon='./img/icon.ico' # 打包的exe图标
)

Analysis第一个参数为列表,列表中元素为需要打包的py文件,可自行添加删除,EXE为打包的exe信息,可在此处修改exe的名字、图标等。图标必须为ico格式图片,这里提供一个图片格式转换网站:https://onlineconvertfree.com/zh/convert/svg/

利用spec配置打包

  1. spec文件编辑完成后输入命令:Pyinstaller main.spec(main.spec为刚才生成的配置文件名)

  2. 出现下图即为打包成功,在项目的根目录下会生成dist目录,里面即为打包出的exe文件:
    python项目生成exe

原文链接:https://xiblogs.top/?id=57

原文链接:https://www.cnblogs.com/xi12/p/17315707.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python项目生成exe - Python技术站

(0)
上一篇 2023年4月17日
下一篇 2023年4月17日

相关文章

  • pip install python 快速安装模块的教程图解

    pip install python 快速安装模块的教程图解 简介 pip是Python中的一个包管理工具,可以安装Python项目所依赖的第三方库,使得Python开发者可以轻松找到、安装、升级和删除Python模块。本文就是要通过图解的方式,讲解pip的安装和使用方法。 安装pip 首先,我们需要下载pip的安装文件,官网下载链接为:https://py…

    python 2023年5月14日
    00
  • 如何使用Python在MySQL中使用字符集?

    在MySQL中,字符集用于指定表中的文本数据的编码方式。在Python中,可以使用MySQL连接来执行字符集查询和设置。以下是在Python中使用字符集的完整攻略,包括字符集的基本语法、使用字符集的示例以及如何在Python中使用字符集。 字符集的基本语法 在MySQL中,可以使用CHAR SET关键字来指定表中的字符集。以下是创建表时指定字符集的基本语法:…

    python 2023年5月12日
    00
  • 浅析Python函数式编程

    浅析Python函数式编程 Python是一门功能强大的编程语言,它支持多种编程范式。其中,函数式编程是一种广泛使用的编程范式,Python也提供了相关的函数支持。本文将深入探讨Python函数式编程的相关知识。 Python函数式编程的特点 函数式编程是一种基于数学函数的编程范式,它的主要特点是: 数据不可变性:函数式编程中,数据是不可变的。每个函数都是一…

    python 2023年6月5日
    00
  • 详解PyQt5中textBrowser显示print语句输出的简单方法

    在PyQt5中,我们可以使用textBrowser来显示print语句输出的内容,具体步骤如下: 步骤一:导入PyQt5模块 首先我们需要导入PyQt5模块: import sys from PyQt5.QtGui import QTextCursor from PyQt5.QtWidgets import QApplication, QMainWindow…

    python 2023年6月5日
    00
  • 如何使用pdb进行Python调试

    下面是使用 pdb 进行 Python 调试的详细攻略。 什么是 pdb Python 调试器(Python debugger)是一种用于诊断 Python 代码中错误的工具。Python 自带了一个基本的调试器叫做 pdb,它可以让你按步骤执行代码,并查看变量的值,进而发现和解决问题。在调试过程中,你可以打印变量值、计算表达式、设置断点等等。 如何在代码中…

    python 2023年5月18日
    00
  • python爬虫之bs4数据解析

    Python爬虫之bs4数据解析 本攻略将介绍如何使用Python爬虫中的bs4库进行数据解析。我们将使用bs4库解析HTML和XML响应,并提取所需的数据。 安装bs4库 在开始前,我们需要安装bs4库。我们可以使用以下命令在命令行中安装bs4库: pip install beautifulsoup4 解析HTML响应 我们将使用bs4库解析HTML响应。…

    python 2023年5月15日
    00
  • python scipy卷积运算的实现方法

    下面是关于“Python Scipy卷积运算的实现方法”的完整攻略。 1. 卷积运算简介 卷积运算是一种常用的信号处理技术,它可以用于图像处理、音频处理等领域。在Python中,我们可以使用Scipy库来实现卷积运算。 2. Scipy卷积运算函数 Scipy库提供了scipy.signal.convolve2d函数来实现二维卷积运算。该函数的语法如下: s…

    python 2023年5月13日
    00
  • python循环语句的使用方法

    下面就为你详细讲解 “Python循环语句的使用方法”。 1. 循环语句概述 循环语句(Loop statement)是编程中常用的控制语句之一,通常用来重复执行一段代码。在 Python 中,常用的循环语句有 for 和 while。 2. for 循环语句 for 循环语句是遍历一个可迭代对象中的每个元素,如列表、元组、字符串等。通常用于循环次数已知的情…

    python 2023年5月30日
    00
合作推广
合作推广
分享本页
返回顶部