我具有以下目录结构:ProjectRoot是项目的根目录。它包含目录“ a”,其中包含mypython.py,而目录又包含类MyPython。在与'a'相同的级别上,还有另一个目录'b',其中包含名为another.py的文件。
我正在尝试将another.py中的MyPython类导入为:
from a.mypython import MyPython
但是在执行过程中,错误为:
ModuleNotFoundError:没有名为“ a”的模块
我尝试将__init__.py'放入许多人建议的,但仍然没有成功。
如何使其工作?其Python 3.7。
如果您正在执行python b/another.py
,则无法使用。请改为尝试python -m b.another
(在touch a/__init__.py
之后)。
您可以阅读this question了解更多信息。
您在哪个目录中运行脚本?Python首先在当前目录中查找模块,然后在环境变量PYTHONPATH中查找。要执行此操作,必须从根目录运行脚本:python b/another.py
。
不需要python 3中的__init__
文件。模块搜索遵循目录结构。