2013-03-04 6 views
5

Ich habe ein Python-Skript mit einem Cython-Modul, das ich geschrieben habe. Ich möchte es veröffentlichen, und um den Benutzern die Mühe zu ersparen, das Cython-Zeug zu kompilieren (besonders komplex unter Windows), möchte ich vorkompilierte Erweiterungen bereitstellen.Wie können vorkompilierte Cython-Module für 32 und 64 Bits sauber bereitgestellt werden?

Aber ich muss eine Version für 32 Bit und eine andere für 64 dachte ich, zu erfahren, wie Sie die beiden Dateien als mymodule32.pyd und mymodule64.pyd und dann mymodule.py Sie folgendermaßen vorgehen:

if bits == 32: 
    from mymodule32 import * 
elif bits == 64: 
    from mymodule64 import * 

Aber das fühlt sich ein wenig plump an. Was passiert, wenn der Benutzer sich entscheidet, das Modul selbst zu kompilieren, indem er mymodule.pyd produziert?

+6

Können Sie nicht einfach zwei separate Downloads bereitstellen, die jeweils eine Datei 'mymodule.pyd' enthalten? – BrenBarn

+3

Konnten Sie sie beide zur Verfügung stellen und den Benutzern einfach raten, die entsprechende 'mymodule.pyd' umzubenennen (oder tun Sie es im Installer, wenn es einen gibt)? – martineau

+1

kann ich. Martineaus Vorschlag erscheint einfach und gut genug. Vielen Dank! – erickrf

Antwort

1

Mein Eindruck ist, dass dies Teil davon ist, wie Sie Ihr Modul packen und es auf Pypi veröffentlichen, nicht darüber, wie Sie es importieren.

Der Import soll sich nicht um Ihre Architektur kümmern, ist die Modulinstallation und das Paket, das darüber informiert werden muss.

Verwandte Themen