我想要如下所示的项目结构: 一些 API 模块,我用它来制作一些工具。
├── api
│ ├── __init__.py
│ ├── some_script.py
├── tools
│ └── tool1.py
api/some_script.py
def func():
print("Func1")
class some_object():
...
api/__init__.py
from .some_script import some_object, func
tool1.py 中的位置
from ..api import func
我想要文件夹中的工具,但我一直收到导入错误。到目前为止,我没有文件夹中的 tool1.py 并且它工作正常(但使用代码 从 api 导入函数)
ImportError: attempted relative import with no known parent package
如何让它以这种方式工作? 谢谢解答
答案 0 :(得分:0)
我尝试了你的代码并得到了同样的错误,结果你需要使用 sys 帮助导入,这是如何做到的:
import sys
sys.path.append("..")
from api import some_script
答案 1 :(得分:0)
@basic 披头士 帮我解决了。使用其他一些来源,这个有效:
sys.path.append(os.path.join(os.path.dirname(__file__), ".."))