Relative Import的问题(ChatGPT无法帮助回答)

问题描述 投票:0回答:0

我在通过相对和绝对导入进行导入时遇到错误。我过去做过很多次并且曾经有效。 ChatGPT 忍不住回答,开始自相矛盾。

这是我的文件夹结构:

project
├── src
│   └── notebook.ipynb
    |_____ test.py
    └──  __init__.py

所以基本上在 src 文件夹中(使用 init.py 制作的包)我有两个文件 - notebook.ipynb 和 test.py

现在在 notebook.ipynb 中,我在单元格中做:

from . import test 

给出以下错误:

ImportError                               Traceback (most recent call last)
Cell In[13], line 1
----> 1 from . import test

ImportError: attempted relative import with no known parent package

即使我尝试绝对导入:

from src import test

我得到:

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
Cell In[14], line 1
----> 1 from src import test

ModuleNotFoundError: No module named 'src'

现在我在过去的项目中使用了类似的导入样式,并且它可以正常工作。在同一个包中,我可以通过相对或绝对。它不需要我在我的环境变量中指定任何 PYTHONPATH。

但这一次它不起作用。

我在 conda 环境中安装的 MAC OS 上使用 Python 3.9.15

python
© www.soinside.com 2019 - 2024. All rights reserved.