首页 > 解决方案 > 在 python 3 中导入模块的正确方法

问题描述

我有一个像这样的项目:

./project_dir/
├── project.py
├── __init__.py
└── lib
    ├── constants.py
    ├── __init__.py
    ├── a.py
    ├── b.py
    ├── test_a.py
    └── test_b.py

a.py

如果我做 import constants

b.py我做 from a import someClass

导入ab的正确方法是project.py什么?它通常会抛出

ModuleNotFoundError: No module named 'a'

如何从a和b导入东西?

标签: pythonpython-3.x

解决方案


未找到模块让您知道它尚未在当前路径中被发现。如果您在 project.py 目录中处于活动状态(从那里运行时这是正常的),您需要包括以下内容:

from lib.a import someClass

# call someClass
var = someClass()

或者

from lib import a,b

# call someClass
var = a.someClass()

推荐阅读