2017-05-18 5 views
0

Ich habe gerade meine Django 1.10 (Python 3.5) -App auf Django 1.11 (Python 3.6) in meinem MacOS Sierra aktualisiert.Django 1.11: Python 3.6 Upgrade verursacht Probleme mit SSL-Verbindungen

Die meisten Dinge funktionieren noch, aber ich erkannte, dass SSL-Verbindungen nicht so funktionieren, wie sie vorher waren. Ich habe es bei einigen Problemen mit meinen AWS S3-Diensten und python manage.py collectstatic bemerkt. Diese Features sind nicht mit AWS verbunden/authentifiziert.

Dies ist das erste Mal, dass ich mich mit einem Update für meine Django-App beschäftige, also bin ich mir nicht so sicher, was der richtige Umgang mit diesen Problemen ist.

Ich habe etwas recherchiert und herausgefunden, dass es ein erwartetes Problem von einem Mac mit Python 3.6 war.

Weiß jemand, ob es die Mühe wert ist, eine Lösung dafür zu finden, oder ist es besser, einfach wieder zu Python 3.5 zu wechseln?

Nach Python 3.6 ReadMe.rft:

Zertifikatsprüfung und OpenSSL

NEW Diese Variante von Python 3.6 jetzt eine eigene private Kopie von OpenSSL 1.0.2 enthält. Im Gegensatz zu früheren Versionen werden die veralteten OpenSSL-Bibliotheken von Apple nicht mehr verwendet. Dies bedeutet auch, dass die Vertrauenszertifikate in System- und Benutzerschlüsselnummern, die von der Anwendung "Keychain Access" und dem Befehlszeilenprogramm "security" verwaltet werden, nicht mehr standardmäßig vom Python-SSL-Modul verwendet werden. Für 3.6.0 ist ein Beispielbefehlsskript in/Applications/Python 3.6 enthalten, um ein kuratiertes Paket von Standardstammzertifikaten aus dem Zertifikatspaket des Drittanbieters (https://pypi.python.org/pypi/certifi) zu installieren. Wenn Sie sich für die Verwendung von certifi entscheiden, sollten Sie in Betracht ziehen, den E-Mail-Aktualisierungsdienst des Projekts zu abonnieren, um benachrichtigt zu werden, wenn das Zertifikatspaket aktualisiert wird. Der im Python 3.6-Installationsprogramm enthaltene gebündelte Pip enthält einen eigenen Standardzertifikatsspeicher zum Überprüfen der Downloadverbindungen.

Antwort

0

Okay, ich erkannte, was mit meinem Projekt nicht stimmte.

Ich benutzte Django-Speicher-Redux neben Boto. Jetzt musste ich auf boto3 aktualisieren und die django-storages-Bibliothek verwenden.