我有一些在 python ide 和 cmd 提示符下成功运行在我的 windows 机器上的 python 代码。
在我用 pyinstaller 编译(到一个文件中)后,我收到以下错误:
Traceback <most recent call last>:
File "<string>", line 51, in <module>
File "build\bdist.win32\egg\oauth2\__init__.py", line 682, in request
... ((traceback through httplib2 and then ssl))
ssl.SSLError: [Errno 185090050] _ssl.c:340: error:0B084002:x509 certificates routines:X509_load_cert_crl_file:system lib
导致错误的我的代码子集如下:
import oauth2 as oauth
import httplib2
import urlparse
#consumer inputs
consumer_key = 'blah'
consumer_secret = 'blah'
consumer = oauth.Consumer(consumer_key, consumer_secret)
#other inputs
request_token_url = 'https://api.linkedin.com/uas/oauth/requestToken?scope=r_network'
access_token_url = 'https://api.linkedin.com/uas/oauth/accessToken'
authorize_url = 'https://api.linkedin.com/uas/oauth/authorize'
#instantiate consumer object
client = oauth.Client(consumer)
resp, content = client.request(request_token_url, "POST", )
应该是一个简单的api请求!我已经查看了所有内容并尝试在代码开头使用以下内容:
httplib2.Http(ca_certs = 'cacert.pem')
……那没用。
我还用新的 cacert.pem(重命名为 cacerts.txt)替换了我在 httplib2 文件夹中的 cacerts.txt 文件……但这没有用。
我试图用这个禁用ssl:
httplib2.Http(disable_ssl_certificate_validation=True)
...但这没有用。
如何使用 pyinstaller 编译我的 python 脚本,而不会弄乱?