我正在尝试python-upwork library并按照设置进行操作。 pip freeze
显示了所需的库:
httplib2==0.10.3
httplib2.system-ca-certs-locater==0.1.2
macholib==1.5.1
matplotlib==1.3.1
modulegraph==0.10.4
numpy==1.8.0rc1
oauth2==1.5.211
urllib3==1.10
但是尝试创建客户端会给出
client = upwork.Client(public_key, secret_key)
File "/Library/Python/2.7/site-packages/upwork/client.py", line 119, in __init__
ca_certs=ca_certs_locater.get(),
File "/Library/Python/2.7/site-packages/ca_certs_locater/__init__.py", line 36, in get
raise ImportError()
我发现this link,听起来python无法找到证明upwork.com的证书。我试过以下建议,但仍然是同样的问题。我不知道在哪里放cacerts.pem文件。
答案 0 :(得分:0)
回答我自己的问题。这对我有用。我在Mac上。
从this page底部的链接下载最新的pem文件。然后强制复制到特定位置并重命名:
sudo cp cacert.pem /etc/ssl/certs/ca-certificates.crt
然后它的作品!
答案 1 :(得分:0)
请尝试使用env变量:HTTPLIB_CA_CERTS_PATH
- 它应该解决问题。
重要确保使用支持HTTPLIB_CA_CERTS_PATH的httplib2.system-ca-certs-locater 0.1.2
与httplib2-ca_certs_locater
进行比较。请参阅此处的建议 - https://github.com/upwork/python-upwork#ssl-certificates-note。
答案 2 :(得分:0)
有3个选项(基于此仓库python-upwork:
/etc/ssl/certs/ca-certificates.crt
/usr/local/etc/openssl/cert.pem
UPWORK_SSL_CERT
并设置自定义路径值。