Python:无法从其他目录中的另一个文件导入类

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

我具有以下目录结构:ProjectRoot是项目的根目录。它包含目录“ a”,其中包含mypython.py,而目录又包含类MyPython。在与'a'相同的级别上,还有另一个目录'b',其中包含名为another.py的文件。

enter image description here

我正在尝试将another.py中的MyPython类导入为:

from a.mypython import MyPython

但是在执行过程中,错误为:

ModuleNotFoundError:没有名为“ a”的模块

我尝试将__init__.py'放入许多人建议的,但仍然没有成功。

如何使其工作?其Python 3.7。

python pycharm
2个回答
0
投票

如果您正在执行python b/another.py,则无法使用。请改为尝试python -m b.another(在touch a/__init__.py之后)。

您可以阅读this question了解更多信息。


0
投票

您在哪个目录中运行脚本?Python首先在当前目录中查找模块,然后在环境变量PYTHONPATH中查找。要执行此操作,必须从根目录运行脚本:python b/another.py

不需要python 3中的__init__文件。模块搜索遵循目录结构。

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