Installieren Sie python ssl-Modul unter linux auch ohne neu zu kompilieren
Ist es möglich, installieren Sie das SSL-Modul für python in einer linux-box, das hat schon OpenSSL installiert, ohne ein neues python? Ich hatte gehofft, es wäre so einfach wie das kopieren von ein paar Dateien und bindet diese in den library-Pfad. Python version ist 2.4.3.
Danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja. Python ist
setup.py
verwendet die folgende Logik, um zu erkennen, OpenSSL:Der Punkt ist Python ist nicht statische linken gegen
libssl
undlibcrypto
. (Einige statische Verbindung tritt mitcctyes
, aber sonst nichts).Nun, das schlimme ist, dass das Projekt verwendet ein system von Pfaden vor Ihre lokal installierte Pfade. Zum Beispiel das Projekt verwendet
inc_dirs
(system) vorsearch_for_ssl_incs_in
(lokal). (Siehe mehr dazu weiter unten).Nachdem Sie laufen
configure
haben Sie eineModules/Setup
mit den folgenden Zeilen auskommentiert:Wieder, keine statische Verbindung. (Und das nimmt die Vorherige version von Python unkommentierte diese Zeilen).
So dass Sie sollten in der Lage sein zu bauen Binär-kompatibel version von OpenSSL und verwenden
LD_LIBRARY_PATH
oderLD_PREOLAD
zu gewährleisten Python verwendet die aktualisierte version von OpenSSL.OpenSSL 0.9.7 und 0.9.8 sind Binär kompatibel. OpenSSL 1.0.0, 1.0.1 und 1.0.2 sind Binär kompatibel. OpenSSL 0.9.8 und 1.0.0 sind nicht Binär-kompatibel.
----------
Hier ist das problem mit den Python-setup zu platzieren-system umfasst vor lokale beinhaltet:
Python verwendet die down level version 0.9.8 version von OpenSSL zur Verfügung gestellt von Apple, und nicht meine aktuelle OpenSSL 1.0.1 k. Das ist trotz meiner (1) exportieren Sie Sie in
CFLAGS
undLDFLAGS
; (2) BearbeitungSetup
; und (3) die BearbeitungModules/Setup
.Und ich habe immer noch runtime-Pfad-Problemen zu kämpfen, also werde ich verwenden müssen
LD_PRELOAD_PATH
,DYNLIB_LIBRARY_PATH
usw.HINWEIS: Python >= 2.6 bereits die SSL-Unterstützung eingebaut, es gibt keine Notwendigkeit zu installieren
ssl
Paket.Install-Paket von pypi:
Wenn Sie fehlende
pip
Befehl installieren Sie es für Ihren Vertrieb:RedHat/Centos:
Debian/Ubuntu
pip install ssl
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Schocker...