Ошибка импорта: нет модуля с именем configobj
Я создал .exe
использование файла pyinstaller 3.3.1
и я получил это сообщение
Traceback (most recent call last):
File "install.py", line 14, in <module>
ImportError: No module named configobj
[8468] Failed to execute script install
Я работаю с python 2.7
с помощью conda
среда. В последнее время я обновил pyinstaller
в version 3.3.1
так что это случилось со мной, пока я проверял, что обновление безопасно.
Я также создал еще один .exe
файл из другого скрипта, который использует также этот import
и все прошло хорошо, поэтому любая помощь будет приветствоваться.
2 ответа
Я получил эту ошибку от certbot в Ubuntu 20.04 (фокус). В этой версии UbuntuPython 2, похоже, в основном устарел, и многие вещи не работают при его использовании. Все должно быть настроено для использования python3.
Когда я запускал certbot, он все еще использовал Python 2.
File "/usr/local/lib/python2.7/dist-packages/certbot/main.py", line 9, in <module>
import configobj
ImportError: No module named configobj
Пип Python 2 больше недоступен из apt в этой версии Ubuntu, поэтому я не смог установить подходящие библиотеки для Python 2 с помощью pip.
Версия certbot в apt должна быть для python3. (
python3-certbot
). Исполняемый файл для certbot устанавливается по адресу
/usr/bin/certbot
.
После дальнейшего расследования я обнаружил, что у меня есть более старая версия certbot для Python 2, висящая по адресу
/usr/local/bin/certbot
. Как только я удалил это (
sudo rm /usr/local/bin/certbot
), версия certbot для python3 работает нормально и может найти все свои библиотеки.