将py文件打包成exe可执行文件

将py文件打包成exe可执行文件

使用命令直接打包(不推荐)

基础命令为: pyinstaller hw.py –noconsole –hidden-import PySide2.QtXml
将hw.py换成你要打包的py文件,如果需要附加命令(如加图标或者附加文件等),可以去网上寻觅。
不推荐理由:需要记住命令内容,并需要注意不要打错,比较麻烦。

使用auto-py-to-exe打包工具(推荐)

此工具基于命令,以图形界面显示,比较好上手。Python2.7以上可用。

1)下载安装

用命令窗口安装:
pip install auto-py-to-exe
或者借用ide(pycharm),在python packages中进行安装。

2) 打开工具

打开cmd,输入auto-py-to-exe,即可打开工具。

将py文件打包成exe可执行文件
  • 脚本位置(必选):添加需要打包的py文件(主文件,附加文件将会在后面添加)
  • 单文件(必选):选择打包后是一个包含很多文件的目录(其中包含exe),还是仅一个exe文件。
    区别在于,当有附加文件时,单目录打包可以直接附加(或者在打包后将附加文件手动添加至文件中),exe程序可正常运行,无需修改主程序代码;单文件则需要修改主程序代码,并在打包时添加附加文件。(具体操作见后面)
  • 控制台窗口(必选):选择当双击打开exe程序,是否先打开命令窗口。一般正式程序发布会隐藏命令窗口,在调试期间可显示,便于找bug。
  • 图标(可选):添加exe程序图标,必须为.icon格式(图片可在网上进行转换)。
  • 附加文件(可选):如有附加文件且选择单文件打包,在打包前需修改代码。主程序的有关附加文件的路径代码如下:
    添加一函数

def resource_path(relative_path):
    """ Get absolute path to resource, works for dev and for PyInstaller """
    base_path = getattr(sys, '_MEIPASS', os.path.dirname(os.path.abspath(__file__)))
    return os.path.join(base_path, relative_path)

在需要引用路径的代码中将 文件 替换为 resource_path(“./文件”)。./为根目录,路径需要与打包时添加附件填写的路径保持一致。

self.ui = QUiLoader().load(resource_path("./hw_new.ui"))

进入工具添加附加文件,如果是整个目录需要附加也可以选择目录。路径默认为根路径,可以自己添加文件夹更换路径,需要注意的是,此路径需要与主程序中的路径保持一致。

  • 高级(可选):一般用不到,我也没研究,暂且空着,后期了解后补上。
  • 设置(可选):可以选择打包好后的输出路径,也可默认。其余没用到,暂且不写。

3)将py文件打包成exe文件

打开工具,添加py文件,按照需求进行配置,点击”将.py转化成.exe”,转化完成后,可点击查看打开exe程序当前所在文件夹。

4)关于exe运行版本问题

根据运行环境中不同的系统版本寻找对应版本的python,可在一台电脑上安装多个版本的python,需要哪个版本将环境变量换成该路径即可(打开cmd,输入python -V检验一下当前版本是否为想要的)。
例如:想在win7 64位下运行exe程序,需要先从网上下载python3.8.2(其他版本只要是适用win7即可),配置环境变量后打开工具,根据需要进行配置,点击转换。
转换完成后,可能无法在当前电脑打开(因为你电脑有可能不是win7),需要将程序复制粘贴至win7系统下进行点击查看。因此建议先在当前常用电脑进行调试,调试成功后再更换python版本进行正式程序的发布。

我目前也是小白一枚,如果有写的不对的地方,欢迎指正~
也欢迎大家来讨论~

Original: https://blog.csdn.net/qq_44878999/article/details/127244253
Author: 滔滔不会轻易狗带
Title: 将py文件打包成exe可执行文件

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/727887/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • pandas读取行列数据-详细介绍(连续&不连续)

    pandas读取行列数据-详细介绍 1、按行读取(单行,多行连续,多行不连续) 2、按列读取(单列,多列连续,多列不连续) 3、部分不连续行不连续列 4、按位置(坐标),按字符(索…

    Python 2023年8月6日
    037
  • Dubbo2.7源码详解

    Spring与Dubbo整合原理与源码分析 【1】注解@EnableDubbo 【2】注解@EnableDubboConfig 1)DubboConfigConfiguration…

    Python 2023年10月18日
    040
  • Crane如何做到利用率提升3倍稳定性还不受损?

    作为云平台用户,我们都希望购买的服务器物尽其用,能够达到最大利用率。然而要达到理论上的节点负载目标是很的,计算节点总是存在一些装箱碎片和低负载导致的闲置资源。下图展示了某个生产系统…

    Python 2023年10月13日
    039
  • 快速玩转ChatGPT全攻略

    啊哦~你想找的内容离你而去了哦 内容不存在,可能为如下原因导致: ① 内容还在审核中 ② 内容以前存在,但是由于不符合新 的规定而被删除 ③ 内容地址错误 ④ 作者删除了内容。 可…

    Python 2023年11月3日
    043
  • python-数据分析-pandas基础知识

    1.Series和DataFrame基础操作 Pandas需要通过改变索引进行增加和删除内部数据 Dataframe.insert(loc, column, value, allo…

    Python 2023年8月8日
    044
  • 【2.5万字】详解 Python-docx 自动生成word图文报告

    目录 推荐:[python自动化办公——python操作Excel、Word、PDF集合大全](https://blog.csdn.net/weixin_41261833/arti…

    Python 2023年9月3日
    0107
  • 模型驱动设计的构造块(上)——DDD

    为了保证软件实践得简洁并且与模型保持一致,不管实际情况如何复杂,必须运用建模和设计的实践。 某些设计决策能够使模型和程序紧密结合在一起,互相促进对方的效用。这种结合要求我们注意每个…

    Python 2023年10月12日
    046
  • MongoDB – 事务支持

    事务简介 事务是数据库中处理的逻辑单元,每个事务中包括一个或多个数据库操作,既可以是读操作,也可以是写操作。 ACID 是一个”真正”事务所需要具备的一组属…

    Python 2023年10月14日
    049
  • Pandas常用操

    读取本地EXCEL数据 import pandas as pd df = pd.read_excel(‘/home/kesci/input/pandas1206855/pandas…

    Python 2023年8月8日
    056
  • Python中的循环结构

    Python中的循环结构 一、回顾分支练习题 1、判断是否为一个合法三角形 需求:输入三角形的3边,如果两边的长度大于第三条边,则代表是一个合法三角形 1、提示用户输入三角形的三边…

    Python 2023年5月24日
    069
  • AI遮天传 DL-多层感知机

    本文介绍多层感知机,会先按照历史顺序介绍多层感知机诞生前的一些模型,后面介绍具体实现与其算法。 一、前戏 1.1 阈值逻辑单元(Threshold Logic Unit, TLU)…

    Python 2023年9月27日
    026
  • pandas pivot、pivot_table和melt

    pandas的pivot和pivot_table 用于表格数据的行列互换,而melt用于unpivot 表格数据。 1,pivot 有如下数据集: import pandas as…

    Python 2023年8月16日
    054
  • mongodb

    一、安装 官网没办法下载,点击链接没反应,按了F12,好歹链接能点了,下载下来的直接是个安装包,也不是可安装文件。运行monogd也失败了。 一通搜,搜到这个链接里可以下载msi可…

    Python 2023年10月6日
    035
  • ReactNative常用插件使用

    项目版本介绍 目前使用的项目node版本v14.17.5, npm版本6.14.14, reactNative项目使用的模板结合typescript语法的项目模板架构,安装的方式如…

    Python 2023年11月8日
    037
  • XILINX FPGA OV5640 摄像头驱动(一)

    影像行业是一个值得深耕的方向,废话不多说 先看输入和输出 输入是光照,输出是光照的数字信号image area:说的是感光矩阵,CMOS图像传感器的最核心部分,接收光照产生电信号的…

    Python 2023年11月8日
    044
  • 安全DNS 一铭DOH、DOT、DNS

    1.首先我要列出我的服务器dot服务器:dns0.wer.plusdoh服务器:dns0.wer.plusdns服务器:222.187.239.65 2.我来简单说下这些是什么a)…

    Python 2023年6月12日
    060
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球