Почему мой импорт работает в pycharm, но не в командной строке? - PullRequest
1 голос
/ 08 мая 2020

У меня следующая раскладка папок:

my_folder/
    my_subfolder/
        __init__.py
        main.py
        import_1.py
        import_2.py

С файлами:

 # main.py
 from my_subfolder import import_1

 import_1.call_import_2(3)

И

 # import_1.py
 from my_subfolder import import_2

 def call_import_2(n):
     import_2.print_hello_world_n_times(n)

И

# import_2.py

def print_hello_world_n_times(n):
    for i in range(n):
        print('hello world')

Теперь дело в том, что если я запускаю main.py в pycharm, он работает нормально. Однако, если я запускаю его из командной строки python my_subfolder/main.py или python main.py (в зависимости от того, в какой папке я нахожусь), он не работает! git bash тоже не может заставить его работать. Я получаю сообщение об ошибке:

ModuleNotFoundError no module named 'my_subfolder'

Кто-нибудь знает, что вызывает это несоответствие между pycharm и командной строкой?

1 Ответ

0 голосов
/ 08 мая 2020
 # main.py
 from . import import_1

 import_1.call_import_2(3)

и

 # import_1.py
 from . import import_2

 def call_import_2(n):
     import_2.print_hello_world_n_times(n)

Вы уже в my_subfolder, поэтому он ищет внутри него еще один.

...