Ich versuche, ein Cython-Modul data.pyx in ein anderes Cython-Modul user.pyx zu importieren. Alles kompilieren, aber wenn ich versuche, user.pyx in einem Python-Modul aufzurufen, bekomme ich den Fehler 'ImportError: Kein Modul namens Daten'.Cython: ImportError: Kein Modul mit dem Namen 'myModule': Wie wird ein Cython-Modul mit einem Cimport zu einem anderen Cython-Knoten aufgerufen?
Alles ist im selben Verzeichnis.
package/
__init__.py #empty
setup.py
data.pxd
data.pyx
user.pyx
Mein setup.py
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
ext_modules = [
Extension("data", ["data.pyx"]),
Extension("user", ["user.pyx"],include_dirs = ['myPackageDir'])
]
setup(
name = 'app',
cmdclass = {'build_ext': build_ext},
ext_modules = ext_modules
)
die folgende test.py Willen Laufen erhöht den Fehler.
import user #this line raised the 'ImportError: No module named data' below
user.doSomething()
Die Ausnahme, die ich bekommen ist
Traceback:
File "test.py", line 1, in <module>
import package.user
File "user.pyx", line 1, in init user (user.c:3384)
ImportError: No module named data
Wie kann ich den Import Arbeit machen? Danke für jede Hilfe.
Warum haben Sie Ihren Code für den Arbeitscode bearbeitet, wenn er eigentlich den falschen Code zeigen sollte? –
@ Niklas Ich sehe deinen Standpunkt. Mit meiner Bearbeitung wird der Beitrag verwirrend. Rob post löst den Fehler 'ImportError: kein Modul namens user'. Aber mein eigentliches Problem war der Fehler 'ImportError kein Modul namens _data_', das ich durch Neukompilieren meines gesamten Projekts löste. Da Rob Post ein echtes potenzielles Problem löst, habe ich es als Antwort markiert, auch wenn es nicht mein tatsächliches Problem war. Sorry, für die Verwirrung. Wenn es einen besseren Weg gibt, sag es mir bitte. –