Es scheint, dass das Setup von distutils.core mit cmdclass, das auf build_ext festgelegt ist, standardmäßig eine cpp- oder c-Datei im aktuellen Arbeitsverzeichnis kompiliert. Gibt es eine Möglichkeit zu bestimmen, wo der generierte c-Code geschrieben wird? Andernfalls wird ein Repository mit generiertem Code übersät sein.Angeben der Cython-Ausgabedatei
Zum Beispiel diese Datei setup.py eine Datei example.c zum aktuellen Arbeitsverzeichnis schreiben wird:
from distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules = cythonize("example.pyx"))
Die richtige Wahl zu sein scheint "build_dir" funktioniert nicht. Vielleicht hat es sich in einer neueren Version von Cython geändert. Um Konflikte mit anderen Build-Dateien zu vermeiden, ist es wahrscheinlich am besten, nicht nur "build" zu verwenden. Ein Unterverzeichnis wie "build/cython" wäre besser. –
Auf den ersten Blick siehst du richtig aus - danke. Wenn ich den Code auf github anschaue, kann ich nicht sehen, wo er sich seit 2015 verändert hat. Wer weiß, wo ich ihn herbekommen habe (aber ich stelle mir vor, dass er zu der Zeit funktioniert hat ...). Ich werde es aktualisieren, sobald ich bestätigt habe, dass es funktioniert. – DavidW