2012-03-26 13 views
1

Ich teste die Verteilung eines Python-Erweiterungsmoduls als ein Ei, das mit setuptools erstellt wurde. Hier ist mein setup.py-Skript:Erweiterungsmodul als Quelle mit setuptools verteilen

from setuptools import setup, Extension 

setup(
    name = "Hello", 
    version = "0.1.0",      
    ext_modules = [Extension('Hello', ['Source/Hello.cpp'])] 
) 

Dann baue ich das Ei mit „setup.py bdist_egg“ und installieren Sie es mit easy_install. Alles funktioniert. Es gibt jedoch ein Problem.

Die Quelle ist kompiliert, wenn ich "setup.py bdist_egg" ausführen und das Ei enthält die Pyd. Ich möchte jedoch ein Ei erstellen, das die Quelle und die Quelle enthält, die kompiliert werden soll, wenn der Benutzer das Ei installiert. Wie sollte ich das Setup-Skript ändern?

+1

bdist ist die Abkürzung für binäre Verteilung, ich bin mir nicht sicher, ob eine Quelldistribution ein Ei sein kann. –

Antwort

0

Janne Karila Kommentar weggeräumt meine Verwirrung:

bdist = binary distribution 
sdist = source distribution 
bdist_egg = binary distribution as egg 

Es gibt keine sdist_egg.

1

Sie erstellen eine Quelldistribution: python setup.py sdist, die einen komprimierten Snapshot Ihrer Struktur erstellt. Dies kann dann mit easy_install installiert werden.

Besser, wenn Sie die Quelle öffentlich verteilen möchten, verwenden Sie die python package index, nach der Dokumentation here.

Verwandte Themen