Неразрешенная справочная проблема в PyCharm
У меня есть структура каталогов
├── simulate.py
├── src
│ ├── networkAlgorithm.py
│ ├── ...
И я могу получить доступ к сетевому модулю с помощью sys.path.insert()
.
import sys
import os.path
sys.path.insert(0, "./src")
from networkAlgorithm import *
Однако, pycharm жалуется, что он не может получить доступ к модулю. Как я могу научить pycham разрешить ссылку?
![enter image description here]()
Ответы
Ответ 1
Вручную добавление его, как вы это сделали, действительно является одним из способов сделать это, но есть более простой метод, и это просто говорит pycharm, что вы хотите добавить папку src
в качестве исходного корня, а затем добавить источники корни к вашему пути python.
Таким образом, вам не нужно записывать вещи в настройки интерпретатора:
- Добавьте
src
в корневой каталог источника:
![enter image description here]()
- Затем обязательно добавьте источники в
PYTHONPATH
:
![enter image description here]()
- Теперь импорт будет разрешен:
![enter image description here]()
Таким образом, вы можете добавить все, что хотите, в качестве исходного корня, и все будет просто работать. Если вы не отметили это как исходный корень, вы получите сообщение об ошибке:
![enter image description here]()
Ответ 2
- проверить
__init__.py
файл в папке src
- добавить папку
src
в качестве корня источника
- Затем обязательно добавьте источники в
PYTHONPATH
(см. выше)
- в меню PyCharm выберите: File → Invalidate Caches/Restart
Ответ 3
Если кто-то все еще смотрит на это, принятый ответ по-прежнему работает для PyCharm 2016.3, когда я его пробовал. Пользовательский интерфейс, возможно, изменился, но параметры все те же.
т. Щелкните правой кнопкой мыши на корневой папке → "Отметить каталог как" → Корень источника
Ответ 4
Обычно $PYTHONPATH используется для обучения интерпретатору python для поиска необходимых модулей. PyCharm должен добавить путь в Предпочтение.
![enter image description here]()
Ответ 5
После тестирования всех обходных решений я предлагаю вам взглянуть на Settings -> Project -> project dependencies
и переустановить их.
![pycharm prefrence]()
Ответ 6
Как правило, это проблема с отсутствующим пакетом, просто поместите каретку на неразрешенную ссылку и нажмите Alt+Enter
, чтобы открыть параметры, затем вы должны знать, как ее решить.
Ответ 7
После того, как вы приняли принятый ответ, мне удалось решить следующее:
File
→ Settings
→ Project <your directory/project>
→ Project Dependencies
Выберите каталог/проект, в котором находится файл с неразрешенным импортом, и установите флажок, чтобы сообщить Pycharm, что этот проект зависит от вашего другого проекта.
Моя папка иерархии немного отличается от той, что в вопросе. Мой так
├── MyDirectory
│ └── simulate.py
├── src
│ ├── networkAlgorithm.py
│ ├── ...
Сообщение Pycharm о том, что src зависит от MyDirectory
решило проблему для меня!
Ответ 8
Установить через PyCharm (работает с Community Edition). Откройте " Settings > Project > Project Interpreter
затем нажмите зеленый значок + на снимке экрана ниже. Во втором открывшемся диалоговом окне введите имя пакета и нажмите кнопку "Установить пакет".
![enter image description here]()
Ответ 9
В моем случае проблема заключалась в том, что я использовал Virtual environment
которая не имела доступа к глобальным пакетам сайтов. Таким образом, интерпретатор не знал о вновь установленных пакетах.
Чтобы решить эту проблему, просто отредактируйте или пересоздайте свой виртуальный интерпретатор и отметьте опцию Inherit global site-packages
.
![enter image description here]()
Ответ 10
Много раз случается, что плагин не установлен. например
Если вы разрабатываете проект django и у вас нет плагина django, установленного в pyCharm, он говорит об ошибке "неразрешенная ссылка".
См:
https://www.jetbrains.com/pycharm/help/resolving-references.html
Ответ 11
Пожалуйста, проверьте, используете ли вы подходящий интерпретатор, которому вы должны. Я получал ошибку "неразрешенная ссылка" django ", чтобы решить эту проблему. Я изменил Project Interpreter (измененный Python 3 на Python 2.7) из параметров проекта:
Выберите "Проект", перейдите в "Файл" → "Настройки" → "Проект" → "Переводчик проекта" → "Браузер" и выберите правильную версию или интерпретатор (например,/usr/bin/python2.7).
Ответ 12
Если вы используете PyCharm:
Вы можете использовать ярлык справки, указав курсор мыши на ошибку и нажав Alt + Enter
Или, альтернативно,
Наведите указатель мыши на недостающую библиотеку, и вы увидите красную лампочку.
![введите описание изображения здесь]()
Нажмите на красную лампочку. Выберите "Установить упаковку".
![введите описание изображения здесь]()
Ответ 13
Pycharm использует venv. В консоли venv вы должны установить пакеты явно или зайти в settings → project interpreter → add interpreter → inherit global site-packages
.
Ответ 14
Это сработало для меня: Top Menu -> File -> Invalidate Caches/Restart
Ответ 15
В новых версиях pycharm вы можете сделать это, просто щелкнув правой кнопкой мыши по каталогу или пакету python, из которого вы хотите импортировать файл, затем нажмите "Пометить каталог как" → "Корень источника"