绑定执行pyinstaller生成的.exe时出错

问题描述 投票:0回答:1

我刚完成一个项目,想把它转换成可执行文件。 将 pyinstaller 与命令

pyinstaller --onefile Music_sorter_by_Fabrice_Schöneberger.py
一起使用时,它编译没有错误。但是在执行文件时我得到以下信息:

  File "Music_sorter_by_Fabrice_Schöneberger.py", line 1, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod02_importers.py", line 352, in exec_module
  File "librosa\__init__.py", line 215, in <module>
  File "lazy_loader\__init__.py", line 243, in attach_stub
ValueError: Cannot load imports from non-existent stub 'C:\\Users\\fabri\\AppData\\Local\\Temp\\_MEI157482\\librosa\\__init__.pyci'
[1588] Failed to execute script 'Music_sorter_by_Fabrice_Sch÷neberger' due to unhandled exception!

文件夹

...\_MEI157482\\librosa\\__init__.pyci
不存在(之前存在),如果我在 librosa 安装中查看,我找不到名为
__init__.pyci
的文件。我有一个
__init__.pyi
__init__.py
。我在网上找不到这样的文件,所以我希望这里有人能帮助我。

编辑:问题不是特定于 pyinstaller 的。 py2exe 有完全相同的问题,我找不到

__init___.pyci
。我想我可能是安装程序无法正确编译 librosa?

python python-3.x pyinstaller py2exe librosa
1个回答
0
投票

使用 Auto-py-to-exe 为我工作的 librosa 添加一个特定的钩子。

创建一个名为“extra-hooks”的文件夹,并在其中创建一个文件“hook-librosa.py” 将这两行粘贴到“extra-hooks/hook-librosa.py”中:

from PyInstaller.utils.hooks import collect_data_files
datas = collect_data_files('librosa')

然后通过在“设置”>“手动提供选项”中添加以下命令来告知该文件的位置:

--additional-hooks-dir "[PATH_TO_YOUR_PROJECT]/axtra-hooks"

解决方案来源:https://github.com/librosa/librosa/issues/538

© www.soinside.com 2019 - 2024. All rights reserved.