Pycharm 警告 - 'Relative import outside of a package'
Pycharm warning - 'Relative import outside of a package'
这是工作文件夹结构
foo/
├─ foo/
│ ├─ __init__.py
__main__.py
这是 __main__.py
的样子:
from .foo import bar
bar()
这是 __init__.py
的样子:
def bar():
print("hello")
pass
当我从外部 root 执行 python -m foo
时,它按预期工作。但是,PyCharm 抱怨 from .foo import bar
行。警告信息是:
Relative import outside of a package
如果将有问题的行更改为 from foo import bar
,PyCharm 不会抱怨,但当 运行 python -m foo
:
时出现以下错误
ImportError: cannot import name 'bar' from 'foo' (unknown location)
有没有办法让它在解决 PyCharm 警告时起作用?
您可以通过将顶级 foo
目录变成它自己的包来摆脱警告。
将 __init__.py
添加到顶级 foo
目录可能会完成工作。
这是工作文件夹结构
foo/
├─ foo/
│ ├─ __init__.py
__main__.py
这是 __main__.py
的样子:
from .foo import bar
bar()
这是 __init__.py
的样子:
def bar():
print("hello")
pass
当我从外部 root 执行 python -m foo
时,它按预期工作。但是,PyCharm 抱怨 from .foo import bar
行。警告信息是:
Relative import outside of a package
如果将有问题的行更改为 from foo import bar
,PyCharm 不会抱怨,但当 运行 python -m foo
:
ImportError: cannot import name 'bar' from 'foo' (unknown location)
有没有办法让它在解决 PyCharm 警告时起作用?
您可以通过将顶级 foo
目录变成它自己的包来摆脱警告。
将 __init__.py
添加到顶级 foo
目录可能会完成工作。