PyCharm не может найти пакеты в virtualenv
у меня есть последний PyCharm CE и я использую его с virtualenv
. Я определил интерпретатора как интерпретатора в virtualenv
. В окне интерпретатора проекта в PyCharm перечислены все пакеты, которые я установил. Я подтвердил это, запустив pip freeze > requirements.txt
и запуск через пакеты вручную.
моя проблема в том, что PyCharm не найдет определенных включений в своих окнах редактора, например Flask-Login
:
на from flask.ext.login import current_user, login_user, logout_user, login_required
включает в себя current_user, login_user, logout_user, login_required
все отмечены как неразрешенные ссылки на литературу.
Я что-то пропустила?
5 ответов
проблема может лежать в PyCharm подбирая неисправен переводчик путей для виртуальной среды. Иди сюда:
PyCharm (menu) -> Preferences (Menu option)
-> Project: <name> (Dropdown)
-> Project Interpreter (Menu option)
-> 'Settings' button (Looks like a gear)
-> More (Menu option)
-> Select your virtualenv interpreter
-> Click 'Show paths for interpreter' button (on bottom of list window)
теперь, когда вы находитесь в этом (по общему признанию, мучительно найденном) месте, вы должны увидеть пути, используемые этим интерпретатором. Если моя теория верна, они указывают на глобальные системные местоположения. Чтобы добавить пути к виртуальной среде, нажмите кнопку +
кнопка и добавить соответствующие пути, которые существуют внутри виртуальной среды. Как только ты закончишь. с этим, это хорошая идея, чтобы выбрать глобальные системные пути и нажмите -
, чтобы удалить их. Нажмите кнопку Применить и перейдите в File -> Invalidate caches / Restart
перезагрузить PyCharm.
это должно заставить ваш интерпретатор указывать на правильное расположение библиотек, которые вы установили в свой virtualenv, и вы больше не должны получать ошибку импорта. Обратите внимание, что даже с этим исправлением вы не увидите свои библиотеки под Project Interpreter
, но они должны быть загружены.
в новейшей версии PyCharm (2016.1.4 в моем случае):
- настройки
- Project: название проекта
- переводчик проекта
- справа будет выпадающий список, где можно выбрать переводчика. Должны быть варианты venv.
см. изображение ниже для лучшего объяснения (как они сказали, 1 Изображение стоит тысячи слов)
Я также столкнулся с той же проблемой (включая все еще не найдены) даже после Натаниэля Форда и dieend's правильно предложение. Убедитесь, что выбрана конфигурация запуска / отладки как правильный интерпретатор python:
открыть Preferences -> Project -> Project Interpreter
, вы видите модуль есть?
если да, у вас может быть другой файл где-то в вашем проекте с тем же именем, что и flask.ext.login
, это предотвращает pycharm от обнаружения фактического модуля.
если нет, вы можете нажать на кнопку ...
рядом с вашим переводчиком и выберите more...
, выберите интерпретатор и внизу (рядом с фильтром) нажмите кнопку Show paths for the selected interpreter
, вы можете добавить путь вашего модуля.