[python-users] Kompilierte C-Extension in ein Egg verpacken

M.-A. Lemburg mal at egenix.com
Mi Dez 5 16:32:41 CET 2012


On 05.12.2012 16:19, Andi Albrecht wrote:
> Hallo zusammen,
> 
> ich bin gerade ein bißchen ratlos.... Ich versuche, eine kompilierte
> C-Extension in ein Paket zu verpacken, damit ich sie via pip
> installieren kann.
> 
> Bisher bin ich aber noch auf keinen vernünftigen Ansatz gestoßen, wie
> ich mir da Pakete für die unterschiedlichen Platformen basteln kann.
> Ich hatte gehofft, eine einfache setup.py schreiben zu können, der ich
> irgendwie (<-- da scheitere ich) sagen kann: Das ist die *.so-Datei,
> um dann mit "python setup.py bdist_egg --plat_name=platform" ein egg
> zu erzeugen.
> 
> Das einzige, was bisher funktioniert hat, war ein Dummy-Modul zu bauen
> und die so-Datei als package_data mit zu paketieren:
> 
> mymodule/
>   __init__,py  (from mymodule import *)
>   mymodule.so
> 
> Das fühlt sich aber komisch an. Aber vielleicht bin ich auch nur gerade blind.
> 
> Hat jemand sowas schonmal gemacht oder kennt jemand einen einfachen
> Weg, eine vorkompilierte C-Extension zu paketieren?

Normalerweise muß man distutils die C-Extension kompilieren lassen,
damit die .so Datei auch im Paket landet.

Falls das nicht geht, kann man aber auch per data_files die
Dateien mitliefern:

http://docs.python.org/2.7/distutils/setupscript.html#installing-additional-files

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Dec 05 2012)
>>> Python Projects, Consulting and Support ...   http://www.egenix.com/
>>> mxODBC.Zope/Plone.Database.Adapter ...       http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
2012-12-05: Released eGenix pyOpenSSL 0.13 ...    http://egenix.com/go37
2012-11-28: Released eGenix mx Base 3.2.5 ...     http://egenix.com/go36
2013-01-22: Python Meeting Duesseldorf ...                 48 days to go

::: Try our new mxODBC.Connect Python Database Interface for free ! ::::

   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611
               http://www.egenix.com/company/contact/



Mehr Informationen über die Mailingliste python-users