我的进口机械师有一些问题。例如,我有一棵这样的树:
├── my_package
| ├── first.py
| └── second.py
└── test.py
second.py:
def second_func():
print('Hello World')
first.py:
from second import second_func
def first_func():
second_func()
test.py:
from my_package.first import first_func
first_func()
当我尝试运行test.py
时,出现此错误:
ModuleNotFoundError: No module named 'second'
感觉好像second.py
不在my_package
中搜索,而是在my_pacakage
和test.py
所在的目录中搜索。这是一种奇怪的机制,因为如果我有一个现成的软件包,那么我不想在其中创建一些新文件,而是想从另一个地方与之交互。
答案 0 :(得分:1)
首先在__init__.py
中创建一个my_package
。将first.py
的import语句更改为以下
from .second import second_func
然后运行python test.py
。它应该给Hello World