首页 > 解决方案 > Pycharm 中的相对导入

问题描述

一些权威名称已经评论和/或回答了relative imports尝试在模块目录中运行脚本时的一般问题:Python 3 中的相对导入

我的问题是PycharmIDE正在解析模块并在同一目录中运行它。所以我最终遇到了导入错误。请注意,__init__.py包装中有一个。pycharm解析器看起来不错

在此处输入图像描述

from . logger import *   # Logger is a module in same package

但是..

在此处输入图像描述

Traceback (most recent call last):
  File "/git/bluej/fusion/python/pointr/bluej/util/DB.py", line 6, in <module>
    from . logger import *
ImportError: attempted relative import with no known parent package

Run Configuration通过在模块中单击鼠标右键创建的。自动生成的版本是这样的:working directory与脚本目录相同。 /git/bluej/fusion/python/pointr/bluej/util(注意包装是pointr.blue.util):

在此处输入图像描述

我尝试将其Working Directory放在基本python目录级别: /git/bluej/fusion/python/

在此处输入图像描述

然而这并没有任何效果。

回复评论:logger不是根包,因此以下代码不起作用:

在此处输入图像描述

如何开发、调试和运行具有相关导入的模块Pycharm

标签: pythonpycharm

解决方案


在此处输入图像描述

  • 将脚本名称更改为模块名称:请参阅下面的第一个选项Configuration
  • 将工作目录更改为层次结构的根目录
  • 希望最好的

推荐阅读