#python #virtualenv
#python #virtualenv
Вопрос:
У меня уже установлены все библиотеки, необходимые для разработки. Но когда я пытаюсь импортировать их в виртуальную среду flask, появляется сообщение «Модуль не найден». Когда я пытаюсь запустить python в командной строке без виртуальной среды, он импортирует их без каких-либо ошибок. Итак, я пришел к выводу, что виртуальной среде необходимо заново установить все библиотеки. Я не хочу этого делать, есть ли другой способ?
Комментарии:
1. Должно быть возможно решить это с помощью PYTHONPATH, немного зависит от того, как настроена ваша среда и тому подобное. Но наличие «дубликатов» в вашем virtualenv на самом деле не проблема, по моему опыту, модули «вне среды» обычно старые и мешают.
2. Я попытался добавить путь к python, но не знаю, почему он все еще не работает.
Ответ №1:
Если вы создаете свой virtualenv с --system-site-packages
флагом, вы можете использовать глобально установленные пакеты. По умолчанию вы не можете.
Комментарии:
1. Примечание — обычно лучше не этого делать, потому что таким образом вы будете знать, что ваше
requirements.txt
завершено, включая все, что вам нужно для запуска вашего приложения.2. Спасибо, это сработало. Но почему-то, когда я запускаю jupyter notebook вне среды, он выдает эту ошибку: AttributeError: объект типа ‘Вызываемый’ не имеет атрибута ‘_abc_registry’. УТОЧНИТЕ, связано ли это с этим или нет.
3. Неважно, что это была проблема с какой-то библиотекой, называемой typing. что исправлено путем удаления библиотеки.