Относительный импорт в Пичарме - PullRequest
1 голос
/ 20 марта 2020

Некоторые авторитетные имена прокомментировали и / или ответили об общей проблеме relative imports при попытке запустить скрипт в каталоге модуля здесь: Относительный импорт в Python 3

Моя проблема в том, что Pycharm IDE - это анализ модуля и запуск его в этом же каталоге. Так что я в конечном итоге с ошибками импорта. Обратите внимание, что в упаковке __init__.py. Отлично смотрится на pycharm парсер

enter image description here

from . logger import *   # Logger is a module in same package

Но ..

enter image description here

Traceback (most recent call last):
  File "/git/bluej/fusion/python/pointr/bluej/util/DB.py", line 6, in <module>
    from . logger import *
ImportError: attempted relative import with no known parent package

Run Configuration был создан путем щелчка правой кнопкой мыши в модуле. Автоматически сгенерированная версия выглядит следующим образом: working directory совпадает с dir скрипта. /git/bluej/fusion/python/pointr/bluej/util (обратите внимание, что пакет pointr.blue.util):

enter image description here

Я пытался поместить Working Directory на базовый python уровень каталога : /git/bluej/fusion/python/

enter image description here

Однако это не имело никакого эффекта.

Ответ на комментарий: logger не является пакетом root, поэтому следующий код не работает:

enter image description here

Как я могу разрабатывать, отлаживать и запускать модули с относительным импортом в Pycharm?

1 Ответ

0 голосов
/ 24 марта 2020

enter image description here

  • Изменить имя сценария на имя модуля: см. Первый выбор в разделе Configuration
  • Изменить рабочий каталог на root из иерархия
  • надежда на лучшее
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...