Нерешенная справочная проблема в PyCharm
у меня есть структура каталогов
├── simulate.py
├── src
│ ├── networkAlgorithm.py
│ ├── ...
и я могу получить доступ к сетевому модулю с sys.path.insert()
.
import sys
import os.path
sys.path.insert(0, "./src")
from networkAlgorithm import *
, pycharm жалуется, что он не может получить доступ к модулю. Как я могу научить pycham разрешать ссылку?
11 ответов
вручную добавив его, как вы сделали is действительно, один из способов сделать это, но есть более простой метод, и это просто сказать pycharm, что вы хотите добавить src
папка в качестве исходного корня, а затем добавление исходного корня в путь python.
таким образом, вам не нужно жестко кодировать вещи в настройках Вашего интерпретатора:
- добавить
src
в качестве источника содержимого root:
- затем обязательно добавьте в свой
PYTHONPATH
:
- теперь импорт будет разрешен:
таким образом, вы можете добавить все, что хотите, в качестве исходного корня, и все будет просто работать. Однако, если вы не отметили его как исходный корень, вы будет получаете ошибка:
- проверить на
src
папку - добавить
src
папка в качестве исходного корня - затем обязательно добавьте в свой
PYTHONPATH
(см. выше) - в меню PyCharm выберите: File --> Invalidate Caches / Restart
Как правило, $PYTHONPATH используется для обучения интерпретатора python находить необходимые модули. PyCharm должен добавить путь в предпочтении.
после проверки всех обходных путей, я предлагаю вам взглянуть на Settings -> Project -> project dependencies
и упорядочить их.
Если кто-то все еще смотрит на это, принятый ответ все еще работает для PyCharm 2016.3, когда я его попробовал. Возможно, пользовательский интерфейс изменился, но параметры все те же.
ie. Щелкните правой кнопкой мыши на корневой папке -- > 'Mark Directory As' -- > Source Root
Как правило, это проблема с отсутствующим пакетом, просто поместите курсор в неразрешенную ссылку и нажмите Alt+Enter
чтобы выявить варианты, то вы должны знать, как его решить.
установить через PyCharm (работает с Community Edition). Открой Settings > Project > Project Interpreter
нажмите зеленый значок " + " на скриншоте ниже. Во 2-м диалоге введите имя пакета и нажмите кнопку Установить пакет.
много раз происходит то, что плагин не установлен. например,
Если вы разрабатываете проект django, и у вас нет плагина django, установленного в pyCharm, он говорит об ошибке "неразрешенная ссылка". Относиться: https://www.jetbrains.com/pycharm/help/resolving-references.html
пожалуйста, проверьте, используете ли вы правильный интерпретатор, который вы должны. Я получал ошибку "неразрешенная ссылка "django", чтобы решить эту проблему, я изменил интерпретатор проекта (изменил Python 3 на Python 2.7) из настроек проекта: Выберите проект, перейдите в Файл - > Настройки - > проект: - > интерпретатор проекта - > брови и выберите правильную версию или интерпретатор (e.g / usr/bin / python2.7).
после следования принятому ответу, сделав следующее, решил его для меня:
File
→ Settings
→ Project <your directory/project>
→ Project Dependencies
выберите каталог/проект, в котором находится ваш файл с неразрешенным импортом, и установите флажок, чтобы сообщить Pycharm, что этот проект зависит от вашего другого проекта.
моя папка hierarcy немного отличается от той, в вопросе. Мой такой
├── MyDirectory
│ └── simulate.py
├── src
│ ├── networkAlgorithm.py
│ ├── ...
говоря Pycharm, что src зависит от MyDirectory
решил проблему для меня!
pycharm использует venv, в venv u следует установить пакеты явно или настройки goto ->интерпретатор проекта - >добавить интерпретатор - >наследовать глобальный сайт-пакеты