我的文件夹布局如下。
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 和命令行之间出现这种差异?
# 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
所以它在那里面寻找另一个。