ImportError: impossible de résoudre le nom d'importation

En raison de l'écriture de code non organisé, j'ai eu une erreur.

contenu de l'erreur

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'

Cause

L'import est dans une boucle infinie.

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

Solution

Faites-en une importation locale au lieu d'une importation globale.

Code d'origine

code1.py


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

Code corrigé

code1.py



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

Cela semble être une thérapie d'adaptation, donc je pense qu'il est fondamentalement préférable de clarifier la relation maître-esclave des importations.

Article associé

ImportError: impossible de résoudre le nom d'importation

Recommended Posts

ImportError: impossible de résoudre le nom d'importation
ImportError: impossible de résoudre le nom d'importation
ImportError: impossible d'importer le nom'factorial '~ ~ ~
from scipy.misc Si "ImportError: impossible d'importer le nom imread" se produit dans l'importation imread, imresize
Impossible d'importer le nom'NUMPY_MKL'Solution.
ImportError: impossible d'importer le nom'factorial '~ ~ ~
ImportError: impossible de résoudre le nom d'importation
ImportError: impossible de résoudre le nom d'importation
Impossible d'importer le nom'NUMPY_MKL'Solution.
from scipy.misc Si "ImportError: impossible d'importer le nom imread" se produit dans l'importation imread, imresize
Impossible d'importer le nom "Feature" depuis "setuptools".
Que faire lorsque "impossible d'importer le nom xxx" [Python]
Résoudre l'erreur d'importation non résolue de VS Code
Vérifiez le nom du fichier si l'importation Python vous dit que vous ne pouvez pas