#python-3.x #pyinstaller #huggingface-transformers
#python-3.x #pyinstaller #обнимашки-трансформеры
Вопрос:
Поэтому я пытаюсь запустить чат-бота, который я создал с помощью Tkinter и transformers в качестве автономного exe-файла [Я использую Windows 10], но при каждом его запуске я буду получать ошибку во время выполнения. Есть ли что-то, что я делаю не так? Я пробовал разные команды почти 2 дня.
Ошибка, сгенерированная ниже:
Traceback (most recent call last): RuntimeError: Failed to import transformers.modeling_tf_utils because of the following error (look up to see its traceback): No module named 'h5py.utils' Traceback (most recent call last): RuntimeError: Failed to import transformers.models.auto because of the following error (look up to see its traceback): Failed to import transformers.modeling_tf_utils because of the following error (look up to see its traceback): No module named 'h5py.utils'
Я пробовал использовать команды follow и добавлял и удалял дополнительные скрытые импорта, но это не сработало:
pyinstaller -w --icon=logo.ico --hidden-import="pkg_resources.py2_warn" --hidden-import="h5py.defs" --hidden-import="googleapiclient" --hidden-import="apiclient" --hidden-import=tensorflow --hidden-import=pytorch --hidden-import=transformers --hidden-import=tqdm --collect-data tensorflow --collect-data torch --copy-metadata tensorflow --copy-metadata torch --copy-metadata h5py --copy-metadata tqdm --copy-metadata regex --copy-metadata sacremoses --copy-metadata requests --copy-metadata packaging --copy-metadata filelock --copy-metadata numpy --copy-metadata tokenizers --copy-metadata importlib_metadata --hidden-import=“sklearn.utils._cython_blas” --hidden-import=“sklearn.neighbors.typedefs” --hidden-import=“sklearn.neighbors.quad_tree” --hidden-import=“sklearn.tree” --hidden-import=“sklearn.tree._utils” chatbot.py
Комментарии:
1.
pip install h5py
вероятно, сделает это2. @TheodorPeifer Я уже пробовал это, к сожалению, это не помогло решить проблему.
Ответ №1:
Я решил свою проблему. Вот что я сделал
Прежде чем я начну, не используйте флаг-onefile в своей команде.
- Я выполнил команду
" pyinstaller -w --icon=logo.ico --hidden-import="h5py.defs" --hidden-import="h5py.utils" --hidden-import="h5py.h5ac" --hidden-import="h5py._proxy" --hidden-import=tensorflow --hidden-import=transformers --hidden-import=tqdm --collect-data tensorflow --collect-data torch --copy-metadata tensorflow --copy-metadata torch --copy-metadata h5py --copy-metadata tqdm --copy-metadata regex --copy-metadata sacremoses --copy-metadata requests --copy-metadata packaging --copy-metadata filelock --copy-metadata numpy --copy-metadata tokenizers --copy-metadata importlib_metadata chatbot.py "
- Перейдите в
Libsite-packagescertifi
папку и скопируйте файл cacert.prem. - При попытке запустить exe-файл из сгенерированной папки dist вы получите сообщение об ошибке операционной системы об отсутствующем пакете сертификатов TLS CA, поскольку он указывает на папку certifi, которая не существует в папке dist. Из сгенерированной папки dist перейдите в основную папку, создайте новую папку, переименуйте ее в «certifi» и вставьте в нее файл cacert.prem.
- Повторно запустите свой exe-файл, и он должен сработать, он сработал для меня.