[PYTHON] ImportError: Importname kann nicht aufgelöst werden

Beim Schreiben von unorganisiertem Code ist ein Fehler aufgetreten.

Fehlerinhalt

Traceback (most recent call last):
  File "code1.py", line 7, in <module>
    from code2 import my_function1
  File "/home/ubuntu/code2.py", line 9, in <module>
    import code3
  File "/home/ubuntu/code3.py", line 6, in <module>
    from code1 import my_function2
  File "/home/ubuntu/code1.py", line 7, in <module>
    from code2 import my_function1
ImportError: cannot import name 'my_function1'

Ursache

Der Import erfolgt in einer Endlosschleife.

スクリーンショット 2020-01-08 12.13.46.png

Lösung

Machen Sie es zu einem lokalen Import anstelle eines globalen Imports.

Originalcode

code1.py


from code2 import my_function1
def main():
    my_function1()

Code korrigiert

code1.py



def main():
    from code2 import my_function1
    my_function1()

Dies scheint eine Bewältigungstherapie zu sein, daher denke ich, dass es grundsätzlich besser ist, die Master-Slave-Beziehung von Importen zu klären.

In Verbindung stehender Artikel

ImportError: Importname kann nicht aufgelöst werden

Recommended Posts

ImportError: Importname kann nicht aufgelöst werden
ImportError: Importname kann nicht aufgelöst werden
ImportError: Name 'Factorial' kann nicht importiert werden ~ ~ ~
from scipy.misc Wenn "ImportError: Name imread kann nicht importiert werden" im Import imread auftritt, imresize
Der Name 'NUMPY_MKL'Solution kann nicht importiert werden.
ImportError: Name 'Factorial' kann nicht importiert werden ~ ~ ~
ImportError: Importname kann nicht aufgelöst werden
ImportError: Importname kann nicht aufgelöst werden
Der Name 'NUMPY_MKL'Solution kann nicht importiert werden.
from scipy.misc Wenn "ImportError: Name imread kann nicht importiert werden" im Import imread auftritt, imresize
Der Name "Feature" kann nicht aus "setuptools" importiert werden.
Was tun, wenn "Name xxx nicht importiert werden kann" [Python]
Beheben Sie den ungelösten Importfehler des VS-Codes
Überprüfen Sie den Dateinamen, wenn Sie durch Python-Import nicht informiert werden