Sto costruendo un'applicazione in python 3.3 che utilizza la libreria delle richieste. Quando provo a ottenere un URL con connessione SSL, voglio verificarlo con verify = true. Questo funziona perfettamente quando si eseguono i miei script Python.Richieste: file mancante dopo cx_freeze
Quando blocco gli stessi script si blocca. Manca qualcosa e non riesco davvero a capire come integrarlo nella mia applicazione congelata.
ottengo il seguente errore (che innesca anche altri errori, ma io non li inserisco qui):
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
Sembra che ca_certs manca. C'è un file chiamato cacert.pem nella libreria delle richieste, ma non so se questo è il file mancante e come importarlo poiché sembra non essere integrato nel mio pacchetto finale congelato.
I moduli che richiedono file separati (come il file chiave qui) tendono ad avere problemi quando vengono congelati. Potrebbe essere necessario modificare il codice richieste. –
Offcourse che è una possibilità che funzionerà, ma sarebbe più bello se il file fosse importato nel pacchetto dalla cartella del modulo. È anche possibile forzare questo specifico file da importare durante il processo di freeze? Ci sono funzioni di importazione disponibili nel processo di installazione, ma non so come usarle esattamente poiché la documentazione ufficiale non è molto chiara a riguardo. – Ecno92