Я построил скрипт для извлечения данных в базе данных mysql, сделайте некоторые вычисления и выведет csv/xls. Я хочу сделать его исполняемым, который будет использоваться моими менее техничными коллегами. Для этого я выбрал pyinstaller
. Я использую Anaconda по телефону Windows 7 и код в python 3.5.setuptools downgrading in conda, чтобы включить pyinstaller
Это мое сообщение об ошибке:
Traceback (most recent call last):
File "C:\Anaconda3\lib\site-packages\PyInstaller\loader\rthooks\pyi_rth_pkgres.py", line 11, in <module>
import pkg_resources as res
File "c:\anaconda3\envs\downsetuptool\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module
exec(bytecode, module.__dict__)
File "site-packages\setuptools-27.2.0-py3.5.egg\pkg_resources\__init__.py", line 68, in <module>
File "site-packages\setuptools-27.2.0-py3.5.egg\pkg_resources\extern\__init__.py", line 61, in load_module
ImportError: The 'appdirs' package is required; normally this is bundled with this package so if you get this warning, consult the packager of your distribution.
Failed to execute script pyi_rth_pkgres
После проверки в Интернете, это ImportError
из appdirs
пакета является известной проблемой и имеет решение. Я считаю, что мне нужно понизить пакет setuptools
до 19.2. Вот что я пробовал:
- сделал новую Конда среду с Setuptools 19,2 (я назвал его
downsetuptools
). результат: та же ошибка (с указанием setuptools-27.2, а не 19.2, как указано выше) - Переустановленный pyinstaller в этой среде. результат: та же ошибка (с указанием setuptools-27.2, а не 19.2, как указано выше)
- с пониженным уровнем настройки до 19.2 в среде
root
. результат: та же ошибка (с указанием setuptools-27.2, а не 19.2, как указано выше) pip
(вместоconda
), чтобы удалить setuptools и переустановить с версией 19.2. Результат: та же ошибка (с указанием setuptools-27.2, а не 19.2, как указано выше)- Я удалил всю папку setuptools-27.2 и все файлы zip, которые я мог найти в папке Anaconda3. Результат: та же ошибка (с указанием setuptools-27.2, а не 19.2, как указано выше)
Похоже, что корень проблемы заключается в том, что понижение не работает. У меня нет решений. Есть идеи?