Не удалось выполнить скрипт Python, созданный PyInstaller, если он импортирует ChainerCV
Я пытаюсь заморозить мой скрипт на Python, который зависит от ChainerCV через PyInstaller. В настоящее время шаг компиляции, кажется, идет хорошо, но не может выполнить выходной файл.
Тестовый скрипт
Чтобы отделить мою проблему, я сделал простой скрипт, который импортирует chainercv и распечатывает модуль следующим образом.
##test.py##
import chianercv
print(chainercv)
Заморозка скрипта с помощью PyInstaller
pyinstaller -y ./test.py
Эта команда создает две директории, ./build
а также ./dist
, Этот процесс показал несколько предупреждений, но он сказал 154814 INFO: Building COLLECT out00-COLLECT.toc completed successfully.
,
Не удалось выполнить файл
Если я выполню файл (./dist/test/test.exe), DistributionNotFound
произошло.
[2124] Failed to execute script test
Traceback (most recent call last):
File "test.py", line 1, in <module>
import chainercv
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "c:\users\xxx\anaconda3\envs\py363\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
exec(bytecode, module.__dict__)
File "chainercv\__init__.py", line 13, in <module>
__version__ = pkg_resources.get_distribution('chainercv').version
File "site-packages\pkg_resources\__init__.py", line 472, in get_distribution
File "site-packages\pkg_resources\__init__.py", line 344, in get_provider
File "site-packages\pkg_resources\__init__.py", line 892, in require
File "site-packages\pkg_resources\__init__.py", line 778, in resolve
pkg_resources.DistributionNotFound: The 'chainercv' distribution was not found and is required by the application
Кажется, что он не смог найти модуль chainercv, но я не знаю, как решить эту ошибку.
другие
Я подтвердил, что test.py
идет хорошо, если выполняется с Python
python ./test.py
Я также попробовал описанный выше процесс для numpy
, scipy
а также chainer
, но ни один из них не сделал DistributionNotFound, как указано выше.
Моя среда
- Python 3.6.3
- PyInstaller == 3.4.dev0 + g31785ca8
- Chainer == 3.4.0
- ChainerCV == 0.8.0
- Windows 10 Pro (64-разрядная версия)
Спасибо.