如何正确使用import语句导入相邻模块?

4

我的项目目录如下:

-project
    -moduleA
        -a.py
        -__init__.py
    -moduleB
        -b.py
        -__init__.py

在a.py文件中,我希望从b.py文件中导入函数。Pycharm建议我按照以下方式进行操作:
#file a.py
from moduleB.b import function

当我从PyCharm中执行a.py时,一切都正常,但是当我尝试从命令行执行时,Python无法找到此模块:

Traceback (most recent call last):
  File "moduleA\a.py", line 1, in <module>
    from moduleB.b import  function
 ImportError: No module named moduleB.b

可能是从相对路径导入模块的重复问题。 - Swoogan
1个回答

3

这是因为在一个模块A中使用import时,它会寻找/moduleB,但是模块A中没有moduleB包。我的建议是在项目中添加另一个py文件进行import,并从那里调用函数。

-project
    -moduleA
       -a.py
       -__init__.py
    -moduleB
       -b.py
       -__init__.py
    main.py

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接