no such file or directory //_ME138562\\nolds\\datasets\\brown72.npy 报错如何解决:PyInstaller报错

  • Post author:
  • Post category:其他




一. 排查1

可能是缺少nolds这个包,所以先检查有没有安装这个包,可通过以下安装以及具体查看:


https://www.wheelodex.org/projects/nolds/wheels/nolds-0.5.2-py2.py3-none-any.whl/



二、排查2

  1. 报错:

No such file or directory: ‘C:\Users\BJ7K8F3\AppData\Local\Temp\_ME138562\nolds\datasets\brown72.npy ’

  1. 原因:


_MEI

*** 是pyinstaller的解压目录,报这个错是说明nolds\datasets\brown72.npy没有打包进去

这类错误可总结为一个模式:

No such file or directory:

‘C:\Users\BJ7K8F3\AppData\Local\Temp\_MEI91362\xxx\yyy’

  1. 解决
  • 找到pyinstaller所在的目录,类似于(E:\Python_and_PyCharm\SoftWareSpace\Python\Lib\site-packages\PyInstaller),重要的是后面这半截(

    \Python\Lib\site-packages\PyInstaller

    )。直接在“此电脑”的搜索栏,搜索“PyInstaller”也是可以找到的,对比一下示例的路径,后半截一致就行。

  • 进入

    PyInstaller文件夹

    后,找到

    hooks文件夹

    ,点进去,然后在这里新建一个txt文本

  • 在txt文本中写入以下语句,然后将文件重命名为

    hook-xxx.py

    ,然后重新打包一次之前需要打包成exe文件的那个py文件就行了

from PyInstaller.utils.hooks import collect_submodules, collect_data_files
datas = collect_data_files('xxx')  # xxx就是报错的那句话倒数第二个东西
  1. 举个例子

此时收到了这个报错:

No such file or directory: ‘C:\Users\BJ7K8F3\AppData\Local\Temp\_ME138562\nolds\datasets\brown72.npy ’

需要找到PyInstaller文件夹,然后在它的hooks文件夹下新建一个txt文本,并写入以下语句

from PyInstaller.utils.hooks import collect_submodules, collect_data_files
datas = collect_data_files('nolds') 

在这里插入图片描述

  • 然后按“Ctrl+s”保存文件,在当前文件夹下找到刚刚写的这个txt文件,将其重命名为

    hook-nolds.py

    ,注意,一定要改成.py文件,命名格式就是“

    hook-xxx.py

  • 最后一步,在cmd窗口中重新进到原来想要打包的SvgToPng.py文件所在的文件夹下,执行指令。(-F是必须要的,表示的是覆盖原来打包的版本)

Pyinstaller -F -i xxx.ico .\SvgToPng.py
  • 等待指令执行完毕即可双击运行SvgToPng.exe程序了,如果还是不可以的话,就从上面的第一个步骤开始,再走一边,看看是不是除了nolds之外还有其他的库也没被打包进来,是的话,以相同的方法添加就好了。



版权声明:本文为weixin_39589455原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。