Ich bin eine Anwendung in Python 3.3 erstellen, die die Bibliothek Anforderungen verwendet. Wenn ich versuche, eine URL mit SSL-Verbindung zu erhalten, möchte ich sie mit verify = true verifizieren. Dies funktioniert perfekt beim Ausführen meiner Python-Skripte.Anforderungen Bibliothek: fehlende Datei nach cx_freeze
Wenn ich die gleichen Skripte einfriere, stürzt es ab. Es vermisst etwas und ich kann wirklich nicht herausfinden, wie ich es in meine eingefrorene Anwendung integrieren kann.
bekomme ich folgende Fehler (die auch andere Fehler auslöst, aber ich weiß nicht, sie hier posten):
Traceback (most recent call last):
File "C:\Python33-32\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 422, in urlopen
body=body, headers=headers)
File "C:\Python33-32\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 274, in _make_request
conn.request(method, url, **httplib_request_kw)
File "C:\Python33-32\lib\http\client.py", line 1049, in request
self._send_request(method, url, body, headers)
File "C:\Python33-32\lib\http\client.py", line 1087, in _send_request
self.endheaders(body)
File "C:\Python33-32\lib\http\client.py", line 1045, in endheaders
self._send_output(message_body)
File "C:\Python33-32\lib\http\client.py", line 890, in _send_output
self.send(msg)
File "C:\Python33-32\lib\http\client.py", line 828, in send
self.connect()
File "C:\Python33-32\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 105, in connect
ssl_version=self.ssl_version)
File "C:\Python33-32\lib\site-packages\requests\packages\urllib3\util.py", line 281, in ssl_wrap_socket
context.load_verify_locations(ca_certs)
FileNotFoundError: [Errno 2] No such file or directory
Es scheint, dass ca_certs fehlt. Es gibt eine Datei namens cacert.pem in der Requests-Bibliothek, aber ich weiß nicht, ob dies die fehlende Datei ist und wie sie importiert wird, da sie anscheinend nicht in mein endgültiges eingefrorenes Paket integriert ist.
Module, die separate Dateien benötigen (wie hier die Schlüsseldatei), haben beim Einfrieren Probleme. Möglicherweise müssen Sie den Anforderungscode bearbeiten. –
Natürlich ist das eine Möglichkeit, die wahrscheinlich funktioniert, aber es wäre schöner, wenn die Datei aus dem Modulordner in das Paket importiert wird. Ist es auch möglich, diese bestimmte Datei während des Einfrierens zu importieren? Es gibt Import-Funktionen im Setup-Prozess, aber ich weiß nicht, wie man sie genau verwendet, da die offizielle Dokumentation nicht sehr klar ist. – Ecno92