pyqt5使用pyinstaller打包项目为exe

2023-05-16

一、 打包

1. 生成index.spec

pyinstaller -F -w -i logo.ico index.py
# 不显示cmd
pyinstaller -F -c -i logo.ico index.py
# 建议先用-c,这样如果打包不成功的话可以看到哪里有错

 -F 指只生成一个exe文件,不生成其他dll文件
-w 不弹出命令行窗口
-i 设定程序图标 ,其后面的ico文件就是程序图标
index.py 就是要打包的程序
-c 生成的exe文件打开方式为控制台打开。

2. 编译exe文件

pyinstaller -F --onefile index.spec

二、问题

1. file already exists but should not:\torch\_C.cp37-win_amd64.pyd

首先找到.spec配置文件修改配置文件,在配置文件中加入以下代码:

for d in a.datas:
    if '_C.cp37-win_amd64.pyd' in d[0]:
        a.datas.remove(d)
        break

详细的.spec配置文件的内容如下:

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

block_cipher = None


a = Analysis(['index.py'],
             pathex=['C:\\Users\\hp\\PycharmProjects\\NSBRMTS'],
             binaries=[],
             datas=[],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             noarchive=False)
for d in a.datas:
	if '_C.cp37-win_amd64.pyd' in d[0]:
		a.datas.remove(d)
		break
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          [],
          name='index',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          upx_exclude=[],
          runtime_tmpdir=None,
          console=True , icon='logo.ico')

再对index.spec进行编译

2.  No such file or directory: 'C:\\Users\\hp\\AppData\\Local\\Temp\\_MEI150042\\pyecharts\\datasets\\map_filename.json'

重新安装pyecharts1.5.1版本

pip install pyecharts==1.5.1

在PyInstaller安装目录下

C:\Users\hp\Anaconda3\Lib\site-packages\PyInstaller\hooks 需要增加如下文件

hook-pyecharts.py 文件内容:

#-----------------------------------------------------------------------------
 # Copyright (c) 2017-2020, PyInstaller Development Team.
 #
 # Distributed under the terms of the GNU General Public License (version 2
 # or later) with exception for distributing the bootloader.
 #
 # The full license is in the file COPYING.txt, distributed with this software.
 #
 # SPDX-License-Identifier: (GPL-2.0-or-later WITH Bootloader-exception)
 #----------------------------------------------------------------------------- 
# Hook for nanite: https://pypi.python.org/pypi/nanite 
from PyInstaller.utils.hooks import collect_data_files 
datas = collect_data_files('pyecharts') 

然后删除工程下面xxxxx.spec 文件,重新打包,即可。

3.importlib_metadata.PackageNotFoundError: No package metadata was found for prettytable

安装importlib_metadata包

未解决

参考链接:

https://www.cnblogs.com/huangjiyong/p/12436236.html

https://www.cnblogs.com/bob-jianfeng/p/12112772.html

https://blog.csdn.net/skj1995/article/details/81187954

https://www.cnblogs.com/LoveOpenSourceBoy/p/14192260.html

https://www.cnblogs.com/LoveOpenSourceBoy/p/14192260.html

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

pyqt5使用pyinstaller打包项目为exe 的相关文章

  • PyQT 列表视图不响应数据更改信号

    我一直在关注一些教程并尝试设置列表模型 我的主窗口有两个访问同一模型的列表视图 当我更新一个列表中的一项时 另一个列表不会自行更新 直到它获得焦点 我单击它 所以看起来 dataChanged 信号没有被发出 但我无法弄清楚我的代码与我所基
  • 如何使用 pyinstaller 创建最小大小的可执行文件?

    我使用的是 Windows 10 安装了 anaconda 但我想使用 python 3 5 在一个新的 干净的最小环境中独立创建一个可执行文件 所以我做了一些测试 测试1 我在文件夹 testenv 中创建了一个 python 脚本 te
  • 用于在命令提示符下运行 .exe 的 Bat 文件

    我想创建一个 bat 文件 这样我只需单击它即可运行 svcutil exe language cs out generatedProxy cs config app config http localhost 8000 ServiceMo
  • 线程处理时出现 msgbox 错误,GUI 块 [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我在执行以下 gui 时遇到问题 如果没有消息框 它可以正常工作 但是当有消息框时 它会阻塞 知道为什么 gui 在有消
  • 在 EXE 文件末尾写入字节安全吗?

    我听说如果我们在 EXE 文件末尾附加一些字节 它仍然可以正常工作 在所有情况下都是如此吗 这是一种安全的方法吗 我打算使用程序执行文件中的数据来编写演示 因此它可以是安全的 至少对普通用户而言 并且我不必将数据存储在其他地方 这是不可能用
  • 在 PyQt5 中,getOpenFileName 不会导致 Pycharm 中弹出文件选择[重复]

    这个问题在这里已经有答案了 使用教程点中的一段示例代码 我无法使用该代码打开文件对话框 我正在使用 Ubuntu MATE 16 04 python 版本 3 7 4 PyQt5 版本 5 13 1 和以下代码 import sys fro
  • PyQt5:我无法理解 QGraphicsScene 的 setSceneRect(x, y, w, h)

    我看到有人说如果你想把QGraphicsScene的坐标原点放在QGraphicsView的原点 即左上角 您需要让它们具有相同的大小 所以这就是我所做的 import sys from PyQt5 QtWidgets import QAp
  • PyQt5:如何将 QPushButton 连接到插槽?

    好吧 几乎所有教程 可理解的用人类语言编写的文档都是针对 PyQt4 的 但是 PyQt5 改变了整个 将按钮连接到插槽 的工作方式 但我仍然不知道如何做到这一点 我在 QtDesigner 中做了一个快速 gui 并且有一个 QPushB
  • 如何在QTextEdit中自动滚动文本(动画效果)?

    我想问一下如何让QTextEdit中的文字滚动 达到动画效果 动画效果应该类似于视频中所示的效果 https www youtube com watch v MyeuGdXv4XM https www youtube com watch v
  • PyPandoc 与 PyInstaller 结合使用

    我安装了 PyInstaller 来为我的 python 脚本创建可执行文件 效果很好 我使用 PyPandoc 创建 docx报告 当正常的 python 文件运行时 它也可以正常运行 但不能从 PyInstaller 生成的可执行文件运
  • 将 Typescript 项目打包为可执行文件

    如何将 Typescript 项目打包成可执行文件 由于我找了一段时间没有找到 所以我使用了 now 节点来实现上述目的 我正在发布我所做的事情 希望有人会觉得它有用 将Typescript项目编译成node 根据this https me
  • 冻结(.exe)一个traitsUI程序,现实可行吗?

    我正在尝试使用 cx freeze 或 pyInstaller 冻结一个 TraitsUI 程序 该程序利用 Chaco Traits TraitsUI 以及较小程度的 mayavi 实际上可以取出 我需要它在 mac linux ubun
  • 如何在Python中创建一个派生自QObject的抽象基类

    我正在尝试为接口创建一个抽象基类 但我需要它从 QObject 派生信号和槽 我的类定义如下 import abc from PyQt5 QtCore import QObject class interface class abc ABC
  • 构建 jar 后无法运行 exe

    我制作了一个简单的实用应用程序 其中我有一个要运行的exe文件 我通过使用它来运行 Runtime getRuntime exec this getClass getResource filename exe getPath 当我从 ide
  • msmq - 触发器 - 独立可执行调用不起作用

    过去几天我一直在尝试使用 msmq 触发器来调用 exe 文件 它永远不会被调用 这些是我遵循的步骤 创建了一个提及队列路径并检查了查看的触发器 启用 选中 创建了一个不带任何条件的规则 以便每当获得新消息时都会触发触发器 并选择提到独立可
  • 将.exe项目转换为类库

    我在 Visual Studio 2010 Ultimate 中有一个半大型 C exe 项目 我想将其转换为 DLL 类库 有没有一种简单的方法可以做到这一点 而不涉及创建新的类库项目 预先感谢 项目 gt 属性 gt 应用程序选项卡 将
  • 在 QComboBox 中显示项目,但不在其弹出列表中显示项目

    我有一些代码使用组合框来显示产品列表 我想在组合框中显示 选择产品 products Select product 223 51443 7335 但我不希望用户能够选择 选择产品 项 我只是想让用户知道这个组合框是用来选择产品的 我不想使用
  • 如何使用 pyinstaller 包含文件?

    我也使用 tkinter 使用 python 3 7 编写了一个程序 由于我使用的是外部图片 因此当我将所有内容编译为一个 exe 时 我需要包含它们 我试过做 add data bg png files 但我仍然收到此错误 tkinter
  • 如何使用 QAbstractTableModel(模型/视图)将数据设置到 QComboBox?

    我希望能够设置itemData of a combobox当使用填充时QAbstractTableModel 但是 我只能从模型返回一个字符串data method 通常 当不使用模型时 可以像这样执行 Set text and data
  • 使用 pyinstaller 制作的可执行文件出现运行时错误

    所以我使用 Pygame 制作了一个游戏 现在我想用它制作一个可执行文件 首选独立可执行文件 所以我用它来制作可执行文件 pyinstaller onefile main py 编译顺利 但运行时出现错误 这是错误 Traceback mo

随机推荐

  • vnc序列号

    5D7L8 ZQXSA 2L5D4 4UFB4 PWDLA 8KNFU MZZHE WA449 2SLLH 48Q7A
  • A星(A*、A Star)路径规划算法详解(附MATLAB代码)

    首先看看运行效果 xff0c 分别有三种模式 xff0c 代码运行前需要通过鼠标点击设置起点和终点 第一种模式直接输出最短路径 第二种模式输出最短路径的生成过程 第三种模式输出最短路径的生成过程和详细探索的过程 代码获取 gitee链接 x
  • ubuntu系统支持GIGABYTE X570 I AORUS PRO WIFI主板温度及风扇转速检测

    原文链接 xff1a How to fix bugs in Ubuntu 20 04 LTS after installation 43 all necessary programs ITCooky Recipes Not getting
  • 计算机启动过程(windows XP 系统)

    计算机启动过程 xff08 windows XP 系统 xff09 共五步 1 预引导 Pre Boot 阶段 xff1b 2 引导阶段 xff1b 3 加载内核阶段 xff1b 4 初始化内核阶段 xff1b 5 登陆 第一个阶段 首先
  • 2006年6月21日

    最近住了一段时间医院 xff0c 在那里除了休息就是休息 xff0c 回来都一周了 xff0c 我都没有适应了学校的生活 xff0c 一天除了睡觉就是看世界杯 哈哈 xff0c 得要有个好心态 看一点东西就算一点 xff0c 写出来 xff
  • 2006 年6月23日

    我为网上下载的一个TDI的源代码写了一个source文件 xff0c 可是编译时却出现了如下问题 can 39 t open include file 34 netpnp h 34 以及 can 39 t open input file 3
  • Linux搭建Web服务器(三)——服务器编程基本框架以及事件处理模式

    目录 0x01 服务器编程基本框架 0x02 两种高效的事件处理模式 Reactor 模式 Proactor 模式 模拟Proactor 模式 0x01 服务器编程基本框架 虽然服务器程序的种类繁多 xff0c 但是其基本框架都是一样的 x
  • 解决docker容器IP不固定问题

    创建了两个容器 xff0c 做好mysql的主从配置了 xff0c 重启docker容器之后 xff0c 发现容器的ip地址变了 xff0c 这就尴尬了 xff0c 首先了解到了docker默认采用 bridge 连接 xff0c 启动容器
  • VSCode 基本使用

    一 VSCode 界面功能介绍 1 Git History xff0c 相当于 git log 3 打开上一提交版本的更改记录 4 显示提交注释 5 向右分屏 6 直接定位到第几行 7 解析当前文件的语言 8 切换项目 xff08 基于 P
  • keras中实现简单的反卷积

    我这里将反卷积分为两个操作 xff0c 一个是UpSampling2D xff0c 用上采样将原始图片扩大 xff0c 然后用Conv2D 这个函数进行卷积操作 xff0c 就可以完成简单的反卷积 xff1a UpSampling2D xf
  • STM32学习笔记:蜂鸣器实验

    STM32学习笔记 xff1a 蜂鸣器实验 蜂鸣器实现原理和led点亮大同小异 xff0c 所以就不重新编写了 一 所使用的函数 span class token number 1 span 时钟使能函数 span class token
  • centos6/7通用查看系统版本

    方法一 可以用lsb release a来查看系统版本 root 64 centos6 lsb release a LSB Version base 4 0 amd64 base 4 0 noarch core 4 0 amd64 core
  • 欢迎使用CSDN-markdown编辑器

    ADB操作命令及其详解 adb是什么 xff1a adb的全称为Android Debug Bridge xff0c 就是起到调试桥的作用 通过adb我们可以在Eclipse中方面通过DDMS来调试android程序 xff0c 说白了就是
  • 私有云上创建与配置虚拟机

    目录 一 登录私有云 二 创建网络 新建路由等 xff08 一 xff09 创建网络 hy 二 新建路由 xff08 三 xff09 添加接口 xff08 四 xff09 查看网络拓扑 xff08 五 xff09 添加端口 三 创建实例 x
  • 远程桌面打开mayavi,基于VirtualGL + Turbovnc

    实现内容 xff1a 远程桌面打开mayavi xff0c 基于VirtualGL 43 Turbovnc 参考链接 xff1a 链接1 下面是复制过来的内容 xff0c 附加上我的注释 xff1a Setup VirtualGL and
  • twisted笔记三:當Deferred遇上Thread(转载)

    Deferred不會自動實現將阻塞過程轉為非阻塞過程 xff0c 雖然它已經有那樣的機制但還是要你去多走一步 要將阻塞過程轉為真正的非阻塞過程 xff0c 那麼只有借用線程 但至於線程調用你不用太擔心 xff0c twisted已為你準備好
  • pyspider安装与初次使用的那些坑

    pyspider是一个python的爬虫框架 xff0c 安装过程遇到不少坑 xff0c 在这里总结一下 安装 安装只需要简单用pip安装就可以了 pip install pyspider 测试 使用 pyspider 或 pyspider
  • FreeRTOS学习笔记(二)——内核机制

    文章目录 0x01 临界段Cortex M内核快速关中断指令关中断开中断进入和退出临界段的宏进入临界段退出临界段临界段代码应用 0x02 空闲任务与阻塞延时的实现空闲任务的创建实现阻塞延时阻塞等待总结 0x03 多优先级通用方法 xff1a
  • scrapy并发爬虫

    通过CrawlerProcess import scrapy from scrapy crawler import CrawlerProcess class MySpider1 scrapy Spider Your first spider
  • pyqt5使用pyinstaller打包项目为exe

    一 打包 1 生成index spec pyinstaller F w i logo ico index py 不显示cmd pyinstaller F c i logo ico index py 建议先用 c xff0c 这样如果打包不成