Wie könnte man ein Verzeichnis für den Python.h-Suchpfad während eines Build / Install-Moduls unter Verwendung von setup.py angeben oder hinzufügen?

8

Ich betreibe Linux und habe ein Python-Modul heruntergeladen, das ich installieren muss, ohne auf mein spezielles / home / user-Verzeichnis zuzugreifen (ich habe keine Root-Rechte oder die Option, sie zu verfolgen).

Dies erfordert natürlich die Python-Quelle. Dies habe ich heruntergeladen und habe in besagtem Benutzerverzeichnis herumgelegt.

Während ich den Administrator auffordere, die richtigen Dateien in /usr/include/python2.7 zu kopieren, ist der einfachste Weg, dies zu tun, ich hoffe auf eine allgemeinere und tragbare Lösung für diese Art von Problem.

Ändern nur Daten in der Modulquelle (MANIFEST.in, README.txt, setup.py, etc.), wie kann ich ein beliebiges Verzeichnis zum Suchpfad für Python.h und Freunde hinzufügen?

(Ohne eine Lösung wird "python setup.py build" weiterhin mit dem Fehler "Python.h: No this file or directory" zurückgegeben)

Vielen Dank.

    
ca2longoria 02.06.2012, 00:38
quelle

1 Antwort

7

Zum Erstellen kompilierter Pakete müssen Sie dem Konfigurationsschritt setup.py mitteilen, dass er an einem anderen Speicherort nach Include-Dateien sucht. Ich glaube, das kann so gemacht werden:

%Vor%

Sie müssen möglicherweise auch setup.py über den Speicherort anderer Dateien (z. B. Bibliotheken) informieren. In diesem Fall sehen Sie sich Folgendes an:

%Vor%

und prüfen Sie die Optionen --libraries und --library-dirs . Um den Speicherort des resultierenden Pakets zu ändern, verwenden Sie die Präfixoption nach dem Erstellen, z. B .:

%Vor%

Die genaue Kombination der erforderlichen Optionen hängt jedoch möglicherweise von dem Paket ab, das Sie installieren. Wenn Sie dies häufig tun müssen, denke ich, dass dies getan werden kann, indem Sie eine setup.cfg config-Datei angeben, wie in hier .

    
Mark Streatfield 02.06.2012, 06:28
quelle