PaddlePaddle / PaddleHub

Awesome pre-trained models toolkit based on PaddlePaddle. (400+ models including Image, Text, Audio, Video and Cross-Modal with Easy Inference & Serving)
https://www.paddlepaddle.org.cn/hub
Apache License 2.0
12.6k stars 2.07k forks source link

pyinstaller打包后报错: File "<frozen importlib._bootstrap>", line xxx, in _find_and_load #1757

Open cgcgcg-xs opened 2 years ago

cgcgcg-xs commented 2 years ago

软件环境 win10x64 cuda 10.2 cuDNN 7.6.5 python 3.8.6 paddlepaddle: pip install paddlepaddle-gpu==2.2.1 -i https://mirror.baidu.com/pypi/simple paddlehub: pip install --upgrade paddlehub -i https://mirror.baidu.com/pypi/simple

源代码(从官网复制):

-- coding: UTF8 --

import paddlehub as hub lac = hub.Module(name="lac") test_text = ["今天是个好天气。"] results = lac.cut(text=test_text, use_gpu=False, batch_size=1, return_tag=True) print(results) #{'word': ['今天', '是', '个', '好天气', '。'], 'tag': ['TIME', 'v', 'q', 'n', 'w']}

打包前测试正常,打包后运行错误如下: File "(frozen importlib.bootstrap)",line 991,in find and load File "(frozen importlib._bootstrap)",line 975,in _find_and_load_unlocked File "(frozen importlib._bootstrap)",line 671,in _load_unlocked File "PyInstaller\loader\pyimod03_importers.py",line 476,in exec_module File "paddle\utils\init py",line 28,in (module) File "(frozen importlib.bootstrap)",line 991,in _find_and_load File "(frozen importlib.bootstrap)",line 975,in find and load unlocked File "(frozen importlib.bootstrap)",line 671,in load_unlocked File "PyInstaller\loader\pyimod03_importers.py",line 476,in exec_module File "paddle\utils\cppextension\init.py",line 15,in (module) File "(frozen importlib.bootstrap)",line 991,in find_and_load File "(frozen importlib.bootstrap)",line 975,in _find_and_load_unlocked File "(frozen importlib.bootstrap)",line 671,in _load_unlocked File "PyInstaller\loader \pyimod03_importers.py",line 6,in exec_module File "paddle\utils\cpp_extension\cpp_extension.py",line 20,in (module) File "(frozen importlib.bootstrap)",line 991,in _find_and_load File "(frozen importlib.bootstrap)",line 975,in _find_and_load_unlocked File "(frozen importlib._bootstrap)",line 671,in _load_unlocked File "PyInstaller\loader\pyimod03_importers.py",line 476,in execmodule File "setuptools\init.py",line 8,in (module) File "(frozen importlib._bootstrap)",line 991,in _find_and_load File "(frozen importlib.bootstrap)",line 975,in _find_and_load_unlocked File (frozen importlib.bootstrap)",line 671,in _load_unlocked File "PyInstaller\loader\pyimod03 _importers.py",line 476,in exec_module File "_distutils_hack\override.py",line 1,in (module) File "_distutilshack\init.py",line 73,in do_override File "_distutils_hack\init.py",line 61,in ensure_local_distutils AssertionError:D:\anime\dist\test\distutils\core.pyc [27324]Failed to execute script 'test'due to unhandled exception!

详见Giee https://gitee.com/paddlepaddle/PaddleHub/issues/I4PNU2

KPatr1ck commented 2 years ago

你好,目前PaddleHub不提倡使用pyinstaller的方式进行打包,建议用户可以使用hub serving的方式进行模型调用。

cgcgcg-xs commented 2 years ago

你好,目前PaddleHub不提倡使用pyinstaller的方式进行打包,建议用户可以使用hub serving的方式进行模型调用。

那用什么方式打包能成功,还是目前都不能打包成功?

mizukiyoshino commented 2 years ago

@KPatr1ck 您好,请问现在支持了吗?nustika 和 pyinstaller 都无法成功打包

HornbeamLiu commented 2 years ago

@KPatr1ck 您好,相同问题,请问现在支持打包了吗?

已解决:

https://github.com/QPT-Family/QPT 注意:自动生成的requirements_with_opt.txt包一般来讲是不全的,需要自己手动修改(去掉'#')