绝对进口和相对进口

2024-09-30 02:33:40 发布

您现在位置:Python中文网/ 问答频道 /正文

无法用非常简单的文件结构导入。你知道吗

我的文件结构如下所示:

project/
  ...
  project.py
  helper.py
  __init__.py
  ...

内项目.py是我试图在helper中导入的类

#project.py

class MyAPIOne():
...

class MyAPITwo():
...

#helper.py

import MyAPIOne

if __name__ == "__main__":
  api = MyApiOne()
  ...

使用python3 helper.py运行时:

如果我保持绝对导入import MyAPIOne,我就会收到ModuleNotFoundError: No module named 'MyAPIOne'

如果我将其更改为相对导入from . import MyAPIOne,我将收到ImportError: cannot import name 'MyAPIOne'

我还尝试了附加到sys.path各种目录中,但运气不好。你知道吗


Tags: 文件项目namepyimporthelperprojectapi
2条回答

如果您是从project文件夹运行此脚本,则可以按以下方式更改导入:from project import MyAPIOne。 此外,还可以将此文件夹添加到PYTHONPATHenv变量中。你知道吗

Upd:添加一些文件夹到PYTHONPATH你可以运行

export PYTHONPATH="${PYTHONPATH}:/my/other/path"

主文件可以导入所有文件,但是主文件不能被其他文件导入。你知道吗

一旦用\uu name\uuuuu=“\uuu main\uuuu”提到文件,它就变成了主文件。所以呢助手.py作为主文件。不能进口。你知道吗

相关问题 更多 >

    热门问题