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 的相关文章

  • PyQt5:如何将 QPushButton 连接到插槽?

    好吧 几乎所有教程 可理解的用人类语言编写的文档都是针对 PyQt4 的 但是 PyQt5 改变了整个 将按钮连接到插槽 的工作方式 但我仍然不知道如何做到这一点 我在 QtDesigner 中做了一个快速 gui 并且有一个 QPushB
  • 使用 Pyinstaller 将 Django 项目转换为 .exe - 缺少模块、ModuleNotFoundError

    我正在使用 Pyinstaller 将 Django 项目转换为 exe 文件 我希望能够只需单击一个图标并在浏览器中打开该项目 这是我的文件夹结构 proj pycache proj pycache init py manage py D
  • PyPandoc 与 PyInstaller 结合使用

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

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

    为什么多处理模块需要调用特定的function http docs python org dev library multiprocessing html multiprocessing freeze support在被 冻结 以生成 Wi
  • 将.exe项目转换为类库

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

    好吧 我是一个完全的编程菜鸟 我正在尝试编译一个我编写的简单程序 该程序接受一个字符串并以莫尔斯电码打印该字符串 它被称为 morse py 我使用安装 pyinstaller pip install pyinstaller 我正在尝试使用
  • 如何在C#和Azure启动任务中自动更新EXE项目?

    我在我的天蓝色相关项目中面临着一个关键且有趣的问题 我创建了一个 Web 应用程序 用户可以从那里下载一个插件 C 中的 EXE 项目 并在解压后上传 EXE 和配置文件到部署在 Azure 平台上的应用程序的启动任务 并且该 exe 定期
  • Process.以另一个用户身份在网络共享上启动 exe 文件

    我需要运行位于我的域中的网络驱动器上的 exe 文件 该驱动器已作为 M 成功连接到我的电脑 但我知道 Process Start string string 在启动位于网络共享上的进程时需要具有文件的 URL 路径 这是我的代码 stri
  • 对于 `mouseMoveEvent()` 来说鼠标移动太快

    以下是 Python 3 版本 UI XML 代码显示 4QProgessBar对于每个鼠标方向 标记为 X X Y Y 快速移动鼠标 以圆圈形式 将使 4QProgessBar上升到 99 然后是一些QProgessBar休息一下 直到鼠
  • 如何使用 pyinstaller 包含文件?

    我也使用 tkinter 使用 python 3 7 编写了一个程序 由于我使用的是外部图片 因此当我将所有内容编译为一个 exe 时 我需要包含它们 我试过做 add data bg png files 但我仍然收到此错误 tkinter
  • 将 python 3.8 文件转换为 .exe

    我已经尝试这样做有一段时间了 我按照教程说你应该安装py安装程序第一的 所以 我安装了它 然后它说你应该写pyinstaller onefile w file name py在命令中 我也遇到了这个问题 有错误 所以 我安装了另一个版本的p
  • 如何将 folium 地图包含到 PyQt5 应用程序窗口中?

    我想问如何将 folium 地图包含到 PyQt 5 窗口应用程序中 以便该地图不会占据整个窗口 我在 StackOverflow 上找到了类似的帖子 如何在 PyQt5 GUI 中显示 Folium 地图 https stackoverf
  • 在 C# 中创建可移植(非安装)Windows 应用程序

    我有一个 net 3 5 应用程序 我想让它变得可移植 它很简单并且运行完美 我已将 EXE DLL 发送给一些朋友 当在同一文件夹中运行带有 DLL 和 ICO 我在其中使用过 的 exe 时 它 按预期工作 我想要的很简单 创建一个单独
  • 确定 pyInstaller 生成的 Python EXE 中的应用程序路径

    我有一个驻留在单个 py 文件中的应用程序 我已经能够让 pyInstaller 将其成功捆绑到 Windows 的 EXE 中 问题是 应用程序需要一个 cfg 文件 该文件始终直接位于应用程序旁边的同一目录中 通常 我使用以下代码构建路
  • PyQt5安装错误(QtCore模块错误:无法创建C++代码)

    我正在尝试在我的 PC 上安装 PyQt5 以访问 QtDesigner 我在安装过程中遇到以下错误 python3 configure py qmake usr local Cellar qt 5 10 1 bin qmake sip u
  • 如何让小部件在上下文菜单出现时接收鼠标释放事件

    在Ubuntu20 04上 当上下文菜单出现时 我无法让小部件接收鼠标释放事件 而Windows可以接收 我的pyqt版本是5 15 2 我考虑过手动发送鼠标释放事件 但我不知道当上下文菜单出现时哪些系统会收到鼠标释放事件 这样做可能会导致
  • 使用自定义 HeaderView 时列排序不起作用

    我正在尝试创建一个TableView具有排序功能 如果我设置TableViewobj 我的自定义HeaderView 单击标题不会排序 即使我的自定义HeaderView不重新实现任何内容 如果我用TableView的标头 hh tv ho
  • 自定义信号的声明

    在 Qt 中 我们可以通过将自定义信号设为静态变量来创建它们 然后我们使用self signame反而classname signame 这样就在类中创建了一个实例变量 我想了解这种模式之外的理论 这是我尝试过的一些伪代码 这些伪代码已记录
  • PyQt5按钮lambda变量变成布尔值[重复]

    这个问题在这里已经有答案了 当我运行下面的代码时 它显示如下 为什么 x 不是 x 而是变成布尔值 这种情况仅发生在传递到用 lambda 调用的函数中的第一个参数上 错误的 y home me model some file from P

随机推荐

  • 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 这样如果打包不成