我正在尝试将SquareConnect sample form和sample code合并到我的应用程序中。我的应用程序使用Python 2.7和Django 1.5在GAE上运行。我已经下载了squareconnect,certifi,dateutil和urllib3的存储库。我已将表单添加到django模板中,表单正确加载并进行验证。在我的views.py中,我在顶部有以下内容:
from __future__ import print_function
导入uuid 导入squareconnect 来自squareconnect.rest导入ApiException 来自squareconnect.apis.transaction_api导入TransactionApi`
在视图功能中,我有以下内容:
api_instance = TransactionApi()
access_token = 'YOUR_ACCESS_TOKEN'
location_id = 'YOUR_LOCATION_ID'
nonce = 'YOUR_NONCE'
...
然后是示例代码的其余部分。
但是,当我在本地运行测试时,我在api_instance = TransactionApi()
上收到以下错误:
'module' object has no attribute 'CERT_REQUIRED'
错误日志表明它是rest.py文件的第101行,即行:
cert_reqs = ssl.CERT_REQUIRED
如何解决此错误,我们将不胜感激。
答案 0 :(得分:0)
所以看起来像版本2.7.8和2.7.9的python在ssl周围有一些问题。值得注意的是,this conversation似乎很重要。但是,我无论如何都不是python专家。我在使用python 2.7.10的macOS上,无法重现错误。 python SDK是为支持python 2.7.9及更高版本而构建的。您使用的python实例也可能不是用ssl构建的。
您可以通过以下方式检查python是否支持ssl:
import socket
hasattr(socket, 'ssl')
答案 1 :(得分:0)
我能够通过不再使用Square SDK来实现这一目标。相反,我正在使用REST API。如果其他人试图将Square与Django和/或GAE集成在一起,这可能是避免我遇到SDK问题的方法。