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 Изображение стоит тысячи слов)

Setting python interpreter


Я также столкнулся с той же проблемой (включая все еще не найдены) даже после Натаниэля Форда и dieend's правильно предложение. Убедитесь, что выбрана конфигурация запуска / отладки как правильный интерпретатор python:

enter image description here


открыть Preferences -> Project -> Project Interpreter, вы видите модуль есть?

если да, у вас может быть другой файл где-то в вашем проекте с тем же именем, что и flask.ext.login, это предотвращает pycharm от обнаружения фактического модуля.

если нет, вы можете нажать на кнопку ... рядом с вашим переводчиком и выберите more..., выберите интерпретатор и внизу (рядом с фильтром) нажмите кнопку Show paths for the selected interpreter, вы можете добавить путь вашего модуля.


Goto/venv/ bin / и проверьте все сценарии активации. Вы venv путь может быть неправильным.