Python ModuleNotFoundError, когда не в рабочем каталоге; модуль getcwd находит - PullRequest
1 голос
/ 06 января 2020

Когда я пытаюсь запустить файл python с python3.6 src/main.py (рабочий каталог выше src), возникает эта ошибка при импорте другого модуля по пути src:

from src import another_module

ModuleNotFoundError: Нет модуля с именем 'sr c'

Когда я делаю

print(os.getcwd())
print(os.listdir(os.getcwd()))

, я получаю то, что ожидается:

путь / to / working / directory

['sr c']

Импорт работает, когда я запускаю скрипт с PyCharm, но мне нужно запустить его вне PyCharm.

Ответы [ 3 ]

1 голос
/ 06 января 2020

Чтобы сделать src пакетом, создайте пустой файл с именем src/__init__.py

1 голос
/ 06 января 2020

Когда вы запускаете сценарий python в командной строке, к пути добавляется каталог сценария (который может отличаться от текущего рабочего каталога оболочки * ).

Итак, поскольку src/ уже на вашем пути, вы можете просто сказать import another_module.

0 голосов
/ 06 января 2020

Решено путем создания другого файла run.py в рабочем каталоге, который вызывает src/main.py и запускает run.py из командной строки вместо src/main.py.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...