Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 皮查姆“;“优化进口”;导致项目错误的原因_Python_Pycharm - Fatal编程技术网

Python 皮查姆“;“优化进口”;导致项目错误的原因

Python 皮查姆“;“优化进口”;导致项目错误的原因,python,pycharm,Python,Pycharm,我的简化文件夹结构: /lights /lights/__init__.py /lights/light.py /lights/directional_light.py main.py 我有一个名为lights的python包,在\\uu init\uuuuuuupy中,我导入如下类: from .light import Light from .directional_light import DirectionalLight from .spot_light import SpotLigh

我的简化文件夹结构:

/lights
/lights/__init__.py
/lights/light.py
/lights/directional_light.py
main.py
我有一个名为lights的python包,在
\\uu init\uuuuuuupy
中,我导入如下类:

from .light import Light
from .directional_light import DirectionalLight
from .spot_light import SpotLight
所以我可以从main.py中的灯光导入*

DirectionalLight
继承自灯光,因此我也将灯光导入其中,如下所示:

from .light import Light
from .directional_light import DirectionalLight
from .spot_light import SpotLight
从灯光导入灯光

一切正常

但是 当我使用Pycharm的“优化导入”时,它变为

from .directional_light import DirectionalLight
from .light import Light
from .spot_light import SpotLight
我得到一个错误:
ImportError:无法从“灯光”导入名称“灯光”

因为首先,它转到directional_light.py并尝试从灯光导入灯光,而该灯光尚未导入到
\\uu init_uuuuuuuuuy.py

我想知道为什么Pycharm会改变顺序并破坏东西。只是按字母顺序排列吗

这让我怀疑我所做的进口。 任何评论和建议?

您可以在设置|编辑器|代码样式| Python |导入中禁用排序。顺便说一句,不确定如此依赖导入顺序有多好。您可以在设置|编辑器|代码样式| Python |导入中禁用排序。顺便说一句,不知道如此严重依赖进口订单的想法有多好。