[Python]pyinstaller打包32位exe小记

2023-10-28

由于媳妇工作中需要大量表格,故利用Python开发一个处理Excel表格的小工具(目前第一版本功能比较少,bug比较多)。本人开发环境是在Mac系统下,然后在window下打包成64位和32位通用的exe程序,本文主要介绍打包过程中的流程和注意事项。
初学过程中,如有纰漏,望指正。

一 打包环境

  • Windows 7 64位旗舰版
  • 32位Python3.8.6
  • 32位pywin32库
  • pyinstaller4.1
  • pandas、xlrd、xlwt…(这是我开发中用到的库,与打包无关)

二 打包流程

  1. 提前下载32位python3.x,32位pywin32,pyinstaller文件
  2. 安装32位python3.x
  3. 安装32位pywin32至32位python3.x文件夹目录下,然后cmd命令进入该文件夹下,执行python3 ./Scripts/pywin32_postinstall.py -install
  4. 将pyinstaller解压至32位python3.x文件目录下,然后cmd命令至pyinstaller文件夹下,执行python setup.py install命令
  5. 将功能代码文件放入pyinstaller文件夹下
  6. 逐个安装功能代码中依赖的库,执行pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn module_name, module_name即库名称
  7. 打包:运行命令python32 pyinstaller.py -F xx.py

三 注意事项

  1. 若电脑上已有64位python版本,建议将32位python.exe重新命名,例如改为python32.exe,后续执行命令皆用python32指明Python版本
  2. 基本的Windows指令,进入文件夹指令(绝对路径):d/python32/pyinstaller/
  3. pyinstaller解压后嵌套了一个同样命名的文件夹,需删除
  4. 若电脑之前没有Python环境,系统会提示需要升级一下pip版本,按照提示的指令执行(类似pip install --upgrade pip的命令,没有截图,后续补充)
  5. 采用传统的pip install xxxx会速度奇慢,所以推荐采用国内镜像按照,指令严格按照上述步骤6
  6. requirement.txt上的依赖库是我在Mac导出的,但是根据名称发现,在win32环境并不适用,所以需要手动安装(Windows虚拟环境未研究,后续补充)
  7. 如果出现报错ERROR:Cannot unpack file xxxx,则是因为下载失败引起的,采用国内镜像即可解决,指令严格按照上述步骤6
  8. 安装指令比较常用的选项是:-w:去除指令命令行窗口;-n xxxx指定名称(会在pyinstaller目录下创建一个同名的文件夹,exe文件会在这个文件夹下的dist文件夹内,默认是脚本名称);

四 资源

  • win32打包全家桶(即32位Python3.8.6、32位pywin32、pyinstaller4.1,下载速度要快一些):链接: https://pan.baidu.com/s/1w5pimYfOgVcEAcFJNvgl5A 提取码: yexy
  • 本人Excel处理小工具GitHub地址:https://github.com/LuckyStrike-zhou/excel_helper
    小工具事例

参考资料

pyinstaller在64位系统下打包32位程序
Python PyInstaller安装和使用教程(详解版)
解决python使用pip安装下载库出现错误:ERROR:Cannot unpack file xxxx情况
Python脚本生成单个EXE文件

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[Python]pyinstaller打包32位exe小记 的相关文章

随机推荐

  • Linux下的TCP&UDP通信作业

    题目描述 一 对于TCP传输 实现客户端发送某特定信息 字符时结束信息传输 断开连接 二 编写程序验证在同一台机器上TCP和UDP能不能同时占用同一个端口进行通信 开始编程 使用vim创建并编辑几个源文件 vim TCPserver c v
  • 由于找不到vcruntime140_1.dll,无法继续执行代码重新安装程序可能会解决此问题。

    出错情况如下 实在着不住了 那些不懂装懂的不要出来祸害人了 又是网上下载vcruntime140 dll放到c盘system32 64文件 这种做法纯属扯淡 vcruntime140 dll文件就是VC 2010的一个文件而已 直接下载运行
  • 序列化理解

    Java序列化 Java提供了一种对象序列化的机制 在该机制中 一个对象可以被表示为一个字节序列 该字节序列包含对象的数据 有关对象的类的信息和存储在对象中数据的类型 将序列化对象写入文件后 可以从文件中读取出来 对且对其进行反序列化 就是
  • 手把手教你配置Pytorch环境并使用(Win10系统下基于Anaconda完成的pytorch1.7.1和torchvision0.8.2的Pytorch深度学习环境搭建)

    概述 1 下载并安装Anaconda 2 在Anaconda Navigator中新建Pytorch虚拟环境 3 配置虚拟环境所需要的torch和torchvision 4 在Pycharm编译环境中使用刚刚建好的Pytorch虚拟环境 详
  • tensorflow兼容处理 tensorflow.compat.v1 tf.contrib

    20201130 问题提出 v1版本中tensorflow中contrib模块十分丰富 但是发展不可控 因此在v2版本中将这个模块集成到其他模块中去了 在学习tensorflow经常碰到tf contrib的代码 一敲就报错 import
  • ME28/ME2L/ME2N增强字段

    导语 用户希望在ME28采购订单审批的时候显示采购订单创建人以及描述 需要通过增强字段来实现 查询了一下SAP有标准的BADI可以进行增强 好像ME28 ME2L ME2N都是通过这里实现 使用不同的展示结构 这里没有深入测试其他事物 仅以
  • 终于弄明白 i = i++和 i = ++i 了

    作者 默辨 来源 https urlify cn Abyuyy 写在前面 前些天看完了JVM的内存结构 自以为自己是懂了 心里想想不就是分线程共享和线程私有嘛 然后又怎么怎么分怎么怎么的嘛 直到遇到了这道题目 说句实话 曾经自己做这种运算题
  • 空间金字塔池化、空洞卷积、深度可分离卷积

    空间金字塔池化 其主要目的是对于任意尺寸的输入产生固定大小的输出 思路 对于不同大小的feature map分成不同大小的块 不同大小的等份 根据具体情况进行设定 然后对每一份进行最大池化 一般是进行最大池化 将池化后的feature ma
  • 项目管理十大知识领域(十)--- 项目采购管理(过程、输入、工具和技术、输出)

    项目管理十大知识领域 十 项目采购管理 1 规划采购管理 输入 项目管理计划 需求文件 风险登记册 活动资源需求 项目进度计划 活动成本估算 干系人等级册 事业环境因素 组织过程资产 工具 自制或外购分析 专家判断 市场调研 会议 输出 采
  • leetcode第一题 :两数之和

    两数之和的哈希表解法 一 题目描述 二 算法思路 1 哈希表的相关说明 2 哈希算法 3 题目讲解 三 题解代码 四 运行结果以及最后的一点点解释 一 题目描述 这里直接贴的leetcode中的题目 哈哈哈 给定一个整数数组 和一个整数目标
  • 深入了解MySQL存储引擎-------InnoDB

    如果想看自己的数据库默认使用的那个存储引擎 可以通过使用命令SHOW VARIABLES LIKE storage engine 一 InnoDB存储引擎 1 InnoDB是事务型数据库的首选引擎 支持事务安全表 ACID 事务的ACID属
  • QT笔记- QListWidget删除item时, 信号QListWidget::currentRowChanged()出现行(索引)错误

    删除QListWidget行或项时 currentRowChanged 信号会在删除前发出 Qt信号QListWidget currentRowChanged int row 在QListWidget当前行号改变时发出 但需注意的是 在使用
  • Spring-IOC容器(控制反转)

    目录 Spring框架图 IOC原理 IOC接口 BeanFactory DI依赖注入 Spring框架图 1 核心层 Core Container 核心容器 这个模块是Spring最核心的模块 其他的都需要依赖该模块 2 AOP层 AOP
  • C++,友元的基本概念以及友元的创建

    一 友元 1 1 友元的基本概念 C 控制对类对象私有部分的访问 通常公有类方法提供唯一的访问途径 但是有时候这种限制太严格 以致于不适合特定的编程问题 在这种情况下 C 提供了另一种形式的访问权限 即友元 友元的种类 友元函数 友元类 友
  • 【软考】-高项-立项管理-重要知识点思维导图

    高项 立项管理 项目立项管理 项目立项包括4个阶段 项目建议与立项申请 含义 作用 项目建议书内容 初步可行性研究 详细可行性研究 内容 评估与决策 7个步骤 可行性研究 内容 可研报告中的开发总成本 经营成本 非经营成本 项目立项管理的作
  • Python判断一个数是否为素数

    Python判断一个数是否为素数 定义一个函数 用来判断一个数 是否为素数 函数名 isPrime 参数 数值n 返回值 布尔类型结果 def isPrime n flag True for i in range 2 n if n i 0
  • 服务器部署 Nginx + Django + Vue

    服务器部署 Nginx Django Vue 服务器预设 租服务器 SSH 远程连接 配置公钥 更新系统软件包 配置 Django 安装 python3 8 4 安装虚拟环境 创建虚拟环境 虚拟环境中安装 Django 和 uWSGI 安装
  • 搜索引擎中网络爬虫的设计分析

    搜索引擎中网络爬虫的设计分析 作者 Ackarlix 下面简单介绍一下搜索引擎的机器爬虫的制作和一些基本要注意的事项 说的简单易懂一些 网络爬虫跟你使用的 离线阅读 工具差不多 说离线 其实还是要跟网络联结 否则怎么抓东西下来 那么不同的地
  • C++学习必备网站推荐收藏

    在 C 的学习过程中离不开阅读大量的免费文档和网站 今天在此分享一些值得收藏的C 学习网站 希望对大家有所帮助 第一个 cplusplus http www cplusplus com 一个优秀的 C 学习网站 除了提供相应的教程之外 还有
  • [Python]pyinstaller打包32位exe小记

    由于媳妇工作中需要大量表格 故利用Python开发一个处理Excel表格的小工具 目前第一版本功能比较少 bug比较多 本人开发环境是在Mac系统下 然后在window下打包成64位和32位通用的exe程序 本文主要介绍打包过程中的流程和注