Неразрешенная ссылка в Pycharm для импорта модулей в родительский каталог

python ide pycharm python-idle

2032 просмотра

1 ответ

Был похожий вопрос, но не совсем то, с чем я столкнулся, вот и мы:

Моя структура каталогов:
├── PycharmProjects
____ ├── MyProject
_______ ├── main.py
_______ ├── ...
___ ├── Инструменты
_______ ├── web.py

Для импорта функций web.py я использую

sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from Tools.web import *

Он работает в Pycharm так же, как и в Idle, однако анализ кода в Pycharm показывает Инструменты и его функцию как «неразрешенные ссылки». Как мне решить эту проблему?

Я уже попробовал:
1. init .py в каждой папке всех уровней.
2. добавьте папку инструментов в структуру проекта, отметьте ее исходную папку (синий цвет)

Автор: user1502776 Источник Размещён: 08.11.2019 10:56

Ответы (1)


1 плюс

Решение

Я рекомендую следующее, которое я делаю, переведя в ваши термины: поместите файл, скажем, my_pycharm.pth в / Lib / site-packages со следующей строкой.

 <drive>:/path/to/PycharmProjects

Это по существу добавляет содержимое / PycharmProjects к содержимому / site-packages. Другими словами, при импорте поисков / site-packages для модулей он также ищет / PycharmProjects. (Я делаю это для каждой установленной версии Python.)

Затем сделайте каждый проект в / PycharmProjects соответствующим пакетом, добавив init .py.

Теперь, например, main.py может иметь

 from Tools import web

и это должно просто работать.

Если вы поделитесь своим кодом с кем-то еще, им просто нужно поместить его в свои пакеты сайтов.

Автор: Terry Jan Reedy Размещён: 20.08.2016 06:07
Вопросы из категории :
32x32