0

我在导入机制方面遇到了一些问题。例如,我有一棵这样的树:

├── my_package  
|   ├── first.py  
|   └── second.py  
└── test.py

第二个.py:

def second_func():
    print('Hello World')

第一.py:

from second import second_func

def first_func():
    second_func()

测试.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。这是一个奇怪的机制,因为如果我有一个现成的包,我不想在其中创建一些新文件,我想从另一个地方与之交互。

4

1 回答 1

1

首先__init__.pymy_package. 将导入语句更改first.py为以下

from .second import second_func

然后运行python test.py。它应该给Hello World

于 2020-07-15T06:29:02.563 回答