皮查姆的相对进口量

时间:2020-03-19 21:37:14

标签: python pycharm

尝试在以下模块目录中运行脚本时,relative imports的一些一般性问题已被评论和/或回答:Relative imports in Python 3

我的问题是Pycharm IDE 正在解析模块并在同一目录中运行它。因此,我最终遇到导入错误。请注意,软件包中有一个__init__.pypycharm解析器看起来不错

enter image description here

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

但是 ..

enter image description here

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

enter image description here

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

enter image description here

但是没有任何效果。

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

enter image description here

如何在Pycharm中开发,调试和运行具有相对导入的模块?

1 个答案:

答案 0 :(得分:1)

enter image description here

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