Intellij idea won't recognize import of local class in python 3
本问题已经有最佳答案,请猛点这里访问。
我有一个python3脚本script.py,在其中我想实例化一个类foobar,它在clazz.py中定义。但是,当我尝试导入时,我得到:
1 2 3 | $ python3 script.py ... SystemError: Parent module '' not loaded, cannot perform relative import |
这是我的文件结构:
1 2 3 4 | python_import/ ├── __init__.py ├── clazz.py └── script.py |
PrasZ.Py:
1 2 3 | class Foobar(): def __init__(self): print("initialized a foobar") |
Pyp.Py:
1 2 | from .clazz import Foobar foobar = Foobar() |
如果我去掉了
我已经阅读了http://www.diveintopython3.net/porting-code-to-python-3-with-2to 3.html import,http://python.readthedocs.org/en/latest/reference/import.html,如何在同一目录或子目录中导入类?,python 3中的相对导入和python 3中的相对导入不工作。
我怀疑这可能与virtualenv有关,但a)我不明白为什么工作目录不属于pythonpath,b)我不确定如何在virtualenv中更改它-intellij为我设置它。
您的IDE喜欢
为了消除"未解决的参考"的红线错误,参见Pycharm中的"未解决的参考问题",它逐步有了完美的说明。