Pyinstaller打包为可执行.exe文件 数据路径问题、闪退问题

将要打包如下文件结构:

--project--data.txt--main.py

使用pyinstaller打包,要使用--add-data参数,将 data.txt 文件包含在生成的可执行文件中。
同时注意:main.py代码中的获取数据路径,要使用 os.path模块来构建 data.txt 文件的绝对路径,而不是相对路径。这样可以确保程序总是能够找到 data.txt 文件。

打包命令
如下,生成的可执行main.exe文件位于dist目录下:

pyinstaller --add-data "data.txt:." --onefile main.py

main.py读取data.txt数据的方式示例:

import os
import numpy as np# 获取当前脚本所在的目录
script_dir = os.path.dirname(os.path.abspath(__file__))# 构建绝对路径
data_file = os.path.join(script_dir, 'data.txt')
print('数据文件路径:', data_file)# 导入数据
gdp = np.loadtxt(data_file, encoding='utf-8')

可执行文件打开一闪而过,闪退问题
解决方式1:打开cmd命令框,将exe文件拖入即可。
解决方式2:在代码中加上input("Press Enter to exit..."),等待用户按空格后再退出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/820781.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

特斯拉宣布 10%大裁员;刘强东数字人开启直播首秀丨 RTE 开发者日报 Vol.185

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

python 面向对象(封装、继承、多态)

封装 1 封装概述 是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。 2 封装原则 将不需要对外提供的内容都隐藏起来 把属性隐藏,提供公共方法对其访问。 3 封装好处 隐藏实现细节,提供公共的访问方式 提高了代…

目标检测——YOLO系列学习(一)YOLOv1

YOLO可以说是单阶段的目标检测方法的集大成之作,必学的经典论文,从准备面试的角度来学习一下yolo系列。 YOLOv1 1.RCNN系列回顾 RCNN系列,无论哪种算法,核心思路都是Region Proposal(定位) classifier&am…

链表拓展之双向链表

前言 在前面已经总结了单链表,有了单链表的基础会很好理解双链表的实现,忘记了可以跳转——>http://t.csdnimg.cn/GFPk9 接下来就由我带着各位看官来认识今天的主角吧~ 什么是双向链表 在单链表的基础上,它有两个方向的链接,一…

Java -- (part10)

一.继承 1.概述 子类继承父类,可以直接使用父类中非私有成员,子类不用写重复代码,提高了代码的复用性 2.关键字 extends 3.成员访问特点 a.成员变量 看等号左边是谁,先调用谁中的成员变量,子类没有找父类 b.成员方法 看new的是谁,先调用谁中的成员方法,子类没有找父类 …

第二期书生浦语大模型训练营第五次笔记

模型部署 模型部署对于任何大模型来说是非常关键的一步。一旦模型经过训练并达到预期的性能指标,就需要将其部署到实际的生产环境中,为最终用户提供服务。但是在部署过程中,大型模型会面临一些独特的挑战。 面临的挑战 大模型在部署方面有一个难题,就是大模型的“大…

网页基本结构

目录 网页基本介绍 网站 网页 网页的组成 浏览器 常见的浏览器 浏览器内核 Web标准 Web标准的构成 网页基本介绍 网站 网站是指在因特网上根据一定的规则,使用 HTML 等制作的用于展示特定内容相关的网页集合 网页 网页是网站中的一“页”,通…

fatal: Out of memory, malloc failed

git 切分支,或者clone仓库的时候碰到这个错误,看网上很多配置config文件,都尝试了没效果。 自测了一个可行的方式: 由于本人用的sourcetree 所以解决方式如下: git升级为最新版,选择系统GIt版本&#xf…

加强金融行业关键信息基础设施安全保护,有效防范网络安全风险

当前,随着数字化发展的不断深入,关键信息基础设施作为国家的重要战略资源,面临着国内外严峻的网络安全风险。为了确保国家安全,在国家发展各领域和全过程中,需要将安全发展贯穿始终,筑牢国家安全屏障。金融…

打一把王者的时间,学会web页面测试方法与测试用例编写

一、输入框 1、字符型输入框: (1)字符型输入框:英文全角、英文半角、数字、空或者空格、特殊字符“~!#¥%……&*?[]{}”特别要注意单引号和&符号。禁止直接输入特殊字符时,…

C#-特性的定义及使用

自定义特性(Attribute) 1.自定义特性 全继承自Attribute基类(使用前要给自定义特性赋予相关特性) [AttributeUsage(AtrributeTargets.Class|AttributeTargets.Method,AllowMultipletrue,Inheritedtrue)//AttributeTargets.Class:允许放类上//AllowMu…

【Altium Designer 20 笔记】PCB铺铜过程

PCB铺铜步骤 切换到Keep-Out Layer(禁止布线层) 使用shifts键切换单层显示 画禁止布线范围(防止铺铜过大) 切换到需要铺铜的层 选择铺铜网络,通常是地(GND)或某个电源网络 隐藏覆铜:…

SpringBoot项目接入Nacos注册中心

前置 已经安装好Nacos服务,并且该项目所在服务器可以访问到 可以参考下: windows环境安装Nacos单机版-CSDN博客 Centos7安装Nacos单机版-CSDN博客 1. POM文件引入依赖 注意,父工程已经引入spring cloud依赖管理的情况下不用添加版本号 …

CAN网络管理(网络节点)

什么是CAN的网络节点 网络节点是指连接到CAN总线上的设备或模块,每个网络节点都具有唯一的标识符,称为节点ID,用于在CAN总线上进行通信和识别。 如何判断CAN的网络节点是多少 可以根据DBC来定义查看, 以ADCU为例,域控作为主节点,一般外部的像雷达,camera的数据都是向…

使用 create-vue 脚手架工具创建一个基于 Vite 的项目,并包含加入 Vue Router 等可选项

如果你打算启动一个新项目,你可能会发现使用 create-vue 这个脚手架工具更容易,它能创建一个基于 Vite 的项目,并包含加入 Vue Router 的选项,指令如下: // npm npm create vuelatest// yarn yarn create vue// pnpm …

Postman 环境变量配置初始调用登录脚本赋值Token

效果 新建环境 切换 Environments 标签下 点击上面加号增加环境变量 使用环境变量 使用{{变量名}}引用变量使用 Pre-request Script 全局 一般授权接口都需要再调用接口前,进行登录授权,这里使用了全局的请求前脚本调用。 脚本示例 // 基础地址 var…

Jenkins上面使用pnpm打包

问题 前端也想用Jenkins的CI/CD工作流。 步骤 Jenkins安装NodeJS插件 安装完成,记得重启Jenkins。 全局配置nodejs Jenksinfile pipeline {agent anytools {nodejs "18.15.0"}stages {stage(Check tool version) {steps {sh node -vnpm -vnpm config…

分类损失函数与评估指标

目录 1 评估指标 1.1 准确率 1.2 精确率 1.3 召回率 1.4 F1 score 1.5 ROC曲线 1.6 AUC 目录 1 评估指标 1.1 准确率 1.2 精确率 1.3 召回率 1.4 F1 score 1.5 ROC曲线 1.6 AUC 1.7 PRC曲线的优势 2 损失函数 1. 负对数似然损失 2. 交叉熵损失 3. 指数损失 …

每日一题:C语言经典例题之百文买百鸡(增加无解输出)

题目描述 公鸡五文钱一只,母鸡三文钱一只,小鸡一文钱三只,用m文钱买m只鸡,公鸡、母鸡、小鸡各买多少只? 输入 一个正整数m。 输出 若有解只输出一个解,即公鸡数量最少的那个解;若无解输出“No a…

Vue router 与 route 的区别

在Vue Router中,router和route是两个不同的概念,它们各自具有不同的作用和功能。 router (路由实例) router是Vue Router的实例,它是整个路由系统的核心。 router负责创建和管理路由映射关系,即URL路径与…