2017-03-04 4 views
0

Ich habe ein einfaches Modul (Python 2.7), von dem ich eine Klasse zu importieren bin versucht, aber ich erhalte eine Fehlermeldung:Python 2.7 kann nicht importieren Name <class>

ImportError: cannot import name Engine 

Mein Code ist:

from components import Engine 

und in Komponenten:

class Engine(object): 
    pass 

auf der anderen Seite

from components import * 

funktioniert

Was für ein ich falsch? Irgendwelche Hinweise geschätzt

+0

Es ist schwer, ohne sagen zu können, das Problem zu reproduzieren, aber Sie könnten einen zyklischen Import oder Sie möglicherweise die falsche 'components' Datei werden zu importieren. –

+0

Danke. Ich habe eine einfache Struktur wie Juan unten vorgeschlagen und es funktioniert. Ich denke, ich muss irgendwo einen zyklischen Import haben - schwer zu erkennen, aber ich komme dazu – Psionman

Antwort

0

Wenn Sie diese Struktur:

. 
├── components 
│   ├── Engine.py 
│   └── __init__.py 
└── main.py 

Und zum Beispiel main.py ist:

from components import Engine 
print 'Hi' 

Und Engine.py ist:

class Engine(object): 
    pass 

Sie müssen nicht finden jede Problem mit der Importanweisung. Der Code läuft fein:

> python main.py 
Hi 
+0

Fand den zyklischen Import und funktioniert jetzt gut – Psionman

Verwandte Themen