python - Google API और cx_Freeze ठीक से काम नहीं कर रहा है



openssl google-drive-sdk (1)

ऐसा लगता है कि यह आपका SSL प्रमाणपत्र नहीं ढूंढ सकता है। यह समझदार है क्योंकि शूप्प्लिब 2 फाइल सिस्टम से उन्हें लोड करता है, और बंडल पैकेज में उन्हें रखने के लिए कुछ भी नहीं cx_Freeze बताता है

इसे पढ़ें, यह मदद करेगा: https://github.com/kennethreitz/requests/issues/557#issuecomment-6420819

मैंने एक पायथन प्रोग्राम बनाया है जो Google डिस्क में फ़ाइलों को अपलोड करने में सक्षम है। .py फ़ाइल पूरी तरह से काम करती है और किसी भी त्रुटि नहीं देती।

लेकिन जैसा कि मैं उन लोगों के लिए वितरित करने जा रहा हूं जिनके पास पायथन इंस्टॉल नहीं है, मुझे प्रोग्राम और संसाधनों को .exe में बदलना होगा। मैंने इसे Cx_Freeze के साथ किया है मैंने इसे पहले इस्तेमाल किया है और यह हमेशा काम किया है

लेकिन अब, गूगल ड्राइव एपीआई त्रुटियों के कारण हो रहा है जब। Exe चल रहा है। यहां दिए गए त्रुटियां ये हैं:

Traceback (most recent call last):
File "C:\Python27\lib\runpy.py", line 162, in _run_module_as_main
  "__main__", fname, loader, pkg_name)

File "C:\Python27\lib\runpy.py", line 72, in _run_code
  exec code in run_globals

File "Test.py", line 41, in <module>

File "C:\Python27\lib\oauth2client\util.py", line 128, in positional_wrapper
  return wrapped(*args, **kwargs)

File "C:\Python27\lib\oauth2client\client.py", line 1283, in step2_exchange
  headers=headers)

File "C:\Python27\lib\site-packages\httplib2-0.8-py2.7.egg\httplib2\__init__.p
y", line 1570, in request
  (response, content) = self._request(conn, authority, uri, request_uri, metho
d, body, headers, redirections, cachekey)

File "C:\Python27\lib\site-packages\httplib2-0.8-py2.7.egg\httplib2\__init__.p
y", line 1317, in _request
  (response, content) = self._conn_request(conn, request_uri, method, body, he
aders)

File "C:\Python27\lib\site-packages\httplib2-0.8-py2.7.egg\httplib2\__init__.p
y", line 1252, in _conn_request
  conn.connect()

File "C:\Python27\lib\site-packages\httplib2-0.8-py2.7.egg\httplib2\__init__.p
y", line 1021, in connect
  self.disable_ssl_certificate_validation, self.ca_certs)

File "C:\Python27\lib\site-packages\httplib2-0.8-py2.7.egg\httplib2\__init__.p
y", line 80, in _ssl_wrap_socket
  cert_reqs=cert_reqs, ca_certs=ca_certs)

File "C:\Python27\lib\ssl.py", line 383, in wrap_socket
  ciphers=ciphers)

File "C:\Python27\lib\ssl.py", line 141, in __init__
  ciphers)

ssl.SSLError: [Errno 185090050] _ssl.c:340: error:0B084002:x509 certificate rout
ines:X509_load_cert_crl_file:system lib

यह उपयोगकर्ता को प्राधिकरण कोड में टाइप करने के बाद यह त्रुटि देता है।

कुछ डीबगिंग के बाद, मुझे पता चला कि इस समस्या का कारण होने वाला रेखा था

credentials = flow.step2_exchange(code)

यहां कोड का स्निपेट है:

flow = OAuth2WebServerFlow(CLIENT_ID, CLIENT_SECRET, OAUTH_SCOPE, REDIRECT_URI)
authorize_url = flow.step1_get_authorize_url()
webbrowser.open(authorize_url)
code = raw_input('Enter verification code: ').strip()
credentials = flow.step2_exchange(code)
http = httplib2.Http()
http = credentials.authorize(http)
drive_service = build('drive', 'v2', http=http)

CLIENT_ID, CLIENT_SECRET, OAUTH_SCOPE और REDIRECT_URI को सभी ठीक से कॉन्फ़िगर किया गया है

तो, यहां समस्या क्या हो सकती है?

यदि आपको अधिक कोड देखने की आवश्यकता है, तो पूछें और मैं इस प्रश्न को अपडेट कर दूंगा।