我在通过相对和绝对导入进行导入时遇到错误。我过去做过很多次并且曾经有效。 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