我在MS VS Community 2117中有一个解决方案,在这个解决方案中有两个项目。这看起来像
solution-
|
|-project A-
| |
| |-A.py
|-project B-
|
|-B.py
我要从A.py到B.py导入一个类(让它也命名为A)。但是当我在B.py内部尝试写
时from .A import A
.A
不可见。
我可以使用相对导入来设置两个项目的模块之间的关系,还是我做错了什么?
我正在使用CPython 3.6。
答案 0 :(得分:0)
可以在包中使用相对导入。要创建一个包,您需要在每个要创建包的目录中添加一个名为__init__.py
的空文件。然后导入包括将其作为包导入的目录:
例如:
main.py
solution/
|
|- __init__.py
|
|-- project_a/
| |
| |- __init__.py
| |- a.py
|
|-- project_b/
|
|- __init__.py
|- b.py
a.py:
print "Hello A"
将../project_a/a.py导入b.py:
from solution.project_a import a
print "Hello B"
从main.py 您可以将b作为包导入:
from solution.project_b import b
print "Hello Main"
现在执行main.py:
Hello A
Hello B
Hello Main