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..."),等待用户按空格后再退出。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-22 00:14:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-22 00:14:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-22 00:14:05       82 阅读
  4. Python语言-面向对象

    2024-04-22 00:14:05       91 阅读

热门阅读

  1. 【C++刷题】优选算法——动态规划第四辑

    2024-04-22 00:14:05       34 阅读
  2. 【LeetCode热题100】【动态规划】最长递增子序列

    2024-04-22 00:14:05       36 阅读
  3. 2015NOIP普及组真题 2. 扫雷游戏

    2024-04-22 00:14:05       31 阅读
  4. OpenMP:变量作用域

    2024-04-22 00:14:05       37 阅读
  5. 代码随想录算法训练营day41

    2024-04-22 00:14:05       32 阅读