Cython cimport und __init __. pyx buggy?

8

Es sieht so aus, als würde man eine __init__.pyx kompilieren, die eine cimport Anweisung enthält, ist fehlerhaft.

Das ist meine Ordnerstruktur:

%Vor%

Die __init__.pyx :

%Vor%

Kompilieren der __init__.pyx mit Cython gibt mir, dass utils.pxd nicht gefunden werden konnte. Umbenennung von __init__.pyx in einen anderen Namen, zB foo.pyx für Beispiel

%Vor%

und dann kompilieren foo.pyx funktioniert gut.

Mache ich etwas falsch?

    
Niklas R 13.08.2011, 10:35
quelle

1 Antwort

6

Wenn ein Verzeichnis eine __init__.py oder __init__.pyx Datei enthält, wird davon ausgegangen, dass es ein Paketverzeichnis ist. In Ihrem Beispiel wird angenommen, dass das Modul utils zum Paket DrawAPI gehört und sein FQMN ist DrawAPI.utils

Wenn DrawAPI jedoch das aktuelle Verzeichnis ist, in dem Sie den Compiler ausführen, und Sie DrawAPI nicht zum Include-Pfad hinzugefügt haben, wird utils.pxd nicht gefunden (wie Sie herausgefunden haben ...)

Wenn Sie wollen, dass utils ein Modul der obersten Ebene ist, dann müssen Sie es woanders hin verschieben, wo es keine __init__.pyx -Datei gibt.

Wenn Sie beabsichtigen, dass es sich in einem Paket befindet, wechseln Sie in das Verzeichnis, das DrawAPI enthält, und kompilieren Sie von dort.

    
Fraser 27.08.2011, 02:11
quelle

Tags und Links