辰墨-ChenMo 2024-06-28 13:44 采纳率: 60%
浏览 10

使用nuitka打包pyqt程序后启动报错

我使用了nuitka打包我的PyQt程序,之前打包都没问题,最近重装系统,重新安装了环境。但是今天打包出来的程序,运行会报错:


📢 Tips: QFluentWidgets Pro is now released. Click https://qfluentwidgets.com/pages/pro to learn more about it.

Traceback (most recent call last):
  File "C:\Users\18079\DOCUME~1\DOWNLO~1\MUSICD~1.DIS\MusicDownloader.py", line 4, in <module>
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "C:\Users\18079\DOCUME~1\DOWNLO~1\MUSICD~1.DIS\window\main.py", line 6, in <module window.main>
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "C:\Users\18079\DOCUME~1\DOWNLO~1\MUSICD~1.DIS\Interface\settings.py", line 11, in <module Interface.settings>
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "C:\Users\18079\DOCUME~1\DOWNLO~1\MUSICD~1.DIS\helper\localmusicsHelper.py", line 9, in <module helper.localmusicsHelper>
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "C:\Users\18079\DOCUME~1\DOWNLO~1\MUSICD~1.DIS\fleep\__init__.py", line 15, in <module fleep>
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\18079\\DOCUME~1\\DOWNLO~1\\MUSICD~1.DIS\\fleep\\data.json'

我看了下我的代码,并没有使用这个json文件,求解答
这是打包代码,为了方便检查就把隐藏控制台窗口删了:

nuitka --standalone --plugin-enable=pyqt5 --windows-icon-from-ico=icon.ico MusicDownloader.py
  • 写回答

1条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-28 13:44
    关注

    引自免费微信小程序:皆我百晓生

    你的问题似乎是由于在打包后的程序中,有一个或多个模块试图访问某个文件(在你的报错中显示为 'C:\\Users\\18079\\DOCUME~1\\DOWNLO~1\\MUSICD~1.DIS\\fleep\\data.json'),但该文件在打包后的程序目录中并不存在。这可能是在你的源代码中有模块使用了相对路径或绝对路径来访问这个文件,尽管你在代码中并未直接看到这个文件的引用,但可能间接地通过其他模块引用了。

    解决此问题的一种方法是确保所有模块都正确地访问文件。如果文件是必须的,那么你需要确保它在打包过程中包含在内。这可能需要修改你的打包代码或使用不同的路径访问这个文件。由于你在使用nuitka进行打包,你也可以检查是否在打包选项中有与文件包含相关的设置。

    对于你的打包代码,你可以尝试添加 --include-data-files 选项来包含数据文件。例如:

    nuitka --standalone --plugin-enable=pyqt5 --windows-icon-from-ico=icon.ico --include-data-files MusicDownloader.py
    

    如果你确定不需要这个 data.json 文件,那么你可能需要检查你的代码和所有依赖的模块,确保没有地方在试图访问这个文件。这可能涉及到使用诸如 grep 或其他文本搜索工具来搜索你的代码库中的所有文件,以查找可能的引用。如果找到了引用的地方,你可以修改它以使用正确的路径或删除引用。

    最后,你可能需要重新检查你的环境变量和路径设置,确保它们在打包后的程序中仍然有效。特别是如果你的程序依赖于某些特定的环境变量或路径来找到资源或文件,那么你可能需要在打包时考虑到这些因素。

    注意:确保在执行任何代码修改或重构之前备份你的代码,以防万一出现其他问题。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月28日

悬赏问题

  • ¥15 网友们我该怎么办啊,急
  • ¥15 混合键合键合机对准标识
  • ¥100 现在不懂的是如何将当前的相机中的照片,作为纹理贴图,映射到扫描出的模型上
  • ¥15 目标跟踪,计算机视觉
  • ¥15 魔霸ROG7 pro,win11.息屏后会显示黑屏,如图,如何解决?(关键词-重新启动)
  • ¥15 有没有人知道这是哪里出了问题啊?要怎么改呀?
  • ¥200 C++表格文件处理-悬赏
  • ¥15 Windows Server2016本地登录失败
  • ¥15 复合卡卡号轨道写入芯片卡
  • ¥20 基于MATLAB的TDOA