使用pyinstaller打包程序后,运行报错 FileNotFoundError
🐛 Bug
在使用pyinstaller打包程序后,运行报错 FileNotFoundError
To Reproduce
# main.py
asr_model = AutoModel(
model="paraformer-zh",
vad_model="fsmn-vad",
punc_model="ct-punc",
disable_update=True,
log_level="ERROR",
disable_pbar=True,
disable_log=True,
)
asr_model.generate(input="音频路径")
pyinstaller -F main.py
运行main.exe 报错
PS D:\Work\PyTest> d:\Work\PyTest\dist\main.exe
Traceback (most recent call last):
File "main.py", line 4, in <module>
from funasr import AutoModel
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "PyInstaller\loader\pyimod02_importers.py", line 450, in exec_module
File "funasr\__init__.py", line 7, in <module>
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\iFUTURE\\AppData\\Local\\Temp\\_MEI264642\\funasr\\version.txt'
[PYI-26760:ERROR] Failed to execute script 'main' due to unhandled exception!
Environment
- OS (e.g., Linux): windows11
- FunASR Version (e.g., 1.0.0): 1.2.6
- PyTorch Version (e.g., 2.0.0): 2.6.0
- How you installed funasr (
pip, source): pip - Python version: 3.10.11
- GPU (e.g., V100M32) : rtx4080
- CUDA/cuDNN version (e.g., cuda11.7): 11.8
🐛 Bug
在使用pyinstaller打包程序后,运行报错 FileNotFoundError
To Reproduce
main.py
asr_model = AutoModel( model="paraformer-zh", vad_model="fsmn-vad", punc_model="ct-punc", disable_update=True, log_level="ERROR", disable_pbar=True, disable_log=True, ) asr_model.generate(input="音频路径") pyinstaller -F main.py 运行main.exe 报错
PS D:\Work\PyTest> d:\Work\PyTest\dist\main.exe Traceback (most recent call last): File "main.py", line 4, in
from funasr import AutoModel File " ", line 1027, in _find_and_load File " ", line 1006, in _find_and_load_unlocked File " ", line 688, in load_unlocked File "PyInstaller\loader\pyimod02_importers.py", line 450, in exec_module File "funasr_init.py", line 7, in FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\iFUTURE\AppData\Local\Temp\_MEI264642\funasr\version.txt' [PYI-26760:ERROR] Failed to execute script 'main' due to unhandled exception! Environment
- OS (e.g., Linux): windows11
- FunASR Version (e.g., 1.0.0): 1.2.6
- PyTorch Version (e.g., 2.0.0): 2.6.0
- How you installed funasr (
pip, source): pip- Python version: 3.10.11
- GPU (e.g., V100M32) : rtx4080
- CUDA/cuDNN version (e.g., cuda11.7): 11.8
pyinstaller 打包文件不完整导致的
🐛 Bug
在使用pyinstaller打包程序后,运行报错 FileNotFoundError
To Reproduce
main.py
asr_model = AutoModel( model="paraformer-zh", vad_model="fsmn-vad", punc_model="ct-punc", disable_update=True, log_level="ERROR", disable_pbar=True, disable_log=True, ) asr_model.generate(input="音频路径") pyinstaller -F main.py 运行main.exe 报错
PS D:\Work\PyTest> d:\Work\PyTest\dist\main.exe Traceback (most recent call last): File "main.py", line 4, in
from funasr import AutoModel File " ", line 1027, in _find_and_load File " ", line 1006, in _find_and_load_unlocked File " ", line 688, in load_unlocked File "PyInstaller\loader\pyimod02_importers.py", line 450, in exec_module File "funasr_init.py", line 7, in FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\iFUTURE\AppData\Local\Temp\_MEI264642\funasr\version.txt' [PYI-26760:ERROR] Failed to execute script 'main' due to unhandled exception! Environment
- OS (e.g., Linux): windows11
- FunASR Version (e.g., 1.0.0): 1.2.6
- PyTorch Version (e.g., 2.0.0): 2.6.0
- How you installed funasr (
pip, source): pip- Python version: 3.10.11
- GPU (e.g., V100M32) : rtx4080
- CUDA/cuDNN version (e.g., cuda11.7): 11.8
打包的文件不完整导致的,你直接找到funasr依赖包,手动把这个依赖包复制到你打包的目录里就行。这个问题我打包的时候也遇到过,我是这样解决的。
请问手动复制funasr依赖包遇到过闪退问题吗?我是打包过程中无法识别那些register的包,一个一个补太费劲了,就打完把funasr依赖包复制过去了,但是运行就闪退,能否看下.spec的配置?
我是直接通过命令来把包放进去的 pyinstaller --add-binary ".venv/lib/site-packages/funasr;funasr" --onefile main.py 添加--add-binary ".venv/lib/site-packages/<库文件夹>;<放到哪个位置>",可以添加多个add-binary
spec文件我把Analysis的datas列表里填入('.venv/lib/site-packages/funasr', 'funasr'), ('.venv/lib/site-packages/示例', '示例')也可以进行打包