Python 2.7 Can';即使使用最新的ssl,也不能在Appengine开发服务器上调用Stripe

Python 2.7 Can';即使使用最新的ssl,也不能在Appengine开发服务器上调用Stripe,python-2.7,google-app-engine,stripe-payments,Python 2.7,Google App Engine,Stripe Payments,我在开发服务器上遇到了同样的问题。我已经签出了stackoverflow.com/questions/46799365/…但这对我来说不起作用 python-V Python 2.7.11 一旦我调用stripe,我就得到了对TLS版本低于1.2的测试模式请求的支持,该支持已被禁用,并且在live模式下的支持将于2018年6月13日取消。请使用TLS 1.2或更高版本启动HTTPS连接。您可以在网站上了解更多信息 My app.yaml已将ssl设置为“最新”库:-名称:django版本:“1.

我在开发服务器上遇到了同样的问题。我已经签出了stackoverflow.com/questions/46799365/…但这对我来说不起作用

python-V
Python 2.7.11

一旦我调用stripe,我就得到了对TLS版本低于1.2的测试模式请求的支持,该支持已被禁用,并且在live模式下的支持将于2018年6月13日取消。请使用TLS 1.2或更高版本启动HTTPS连接。您可以在网站上了解更多信息

My app.yaml已将ssl设置为“最新”库:-名称:django版本:“1.9”-名称:jinja2版本:“2.6”-名称:markupsafe版本:“0.15”-名称:ssl版本:最新-名称:pycrypto版本:最新

我应该用sandbox.py做点什么吗?我想我的要求是版本2.16.0,因为我遇到了一些其他的环境问题,而它不是。他是罪魁祸首还是别的什么

这是确切的错误

PermissionError at /
Request req_DrUOViv9FnjhAx: Support for test mode requests made with versions 
of TLS lower than 1.2 has been disabled, and support in live mode will be dropped on June 13, 2018. Please initiate HTTPS connections with TLS 1.2 or later. You can learn more about this at https://stripe.com/blog/upgrading-tls.
Request Method:
GET
Request URL:
http://localhost:8080/
Django Version:
1.9.5
Exception Type:
PermissionError
Exception Value:
Request req_DrUOViv9FnjhAx: Support for test mode requests made with versions of TLS lower than 1.2 has been disabled, and support in live mode will be dropped on June 13, 2018. Please initiate HTTPS connections with TLS 1.2 or later. You can learn more about this at https://stripe.com/blog/upgrading-tls.
Exception Location:
lib/stripe/api_requestor.py in handle_error_response, line 178
Python Executable:
/Users/USERNAME/PycharmProjects/PROJECTNAME/virtualenv-dev/bin/python
Python Version:
2.7.11
Python Path:
['/Users/USERNAME/PycharmProjects/PROJECTNAME',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine',
 '/Users/USERNAME/PycharmProjects/PROJECTNAME',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine',
 '/Users/USERNAME/PycharmProjects/PROJECTNAME/virtualenv/lib/python2.7',
 '/Users/USERNAME/PycharmProjects/PROJECTNAME/virtualenv/lib/python2.7/lib-dynload',
 '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine/lib/django-1.9',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine/lib/jinja2-2.6',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine/lib/markupsafe-0.15',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine/lib/ssl-2.7.11',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine/lib/pycrypto-2.6',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine/lib/setuptools-0.6c11',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine/lib/protorpc-1.0',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine/lib/pytz-2017.2',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine/lib/webapp2-2.3',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine/lib/webob-1.1.1',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine/lib/werkzeug-0.11.10',
 '/Users/USERNAME/Downloads/google-cloud-sdk/platform/google_appengine/lib/yaml-3.10',
 'lib']
Server time:
Sat, 24 Mar 2018 00:43:28 -0500

除了使用最新的GAE ssl库,在本地开发服务器上运行应用程序时,您可能还需要升级本地系统的
openssl

来自(其他特定操作系统版本单独提及):

  • 如果您正在使用任何其他系统,或者已经在OS X上使用brew,则需要
和(其他特定操作系统版本单独提及):

如果您正在使用任何其他Linux变体,则需要确保 运行
openssl版本
提供的版本至少为1.0.1。如果是 否则,您将需要进行软件包更新,并且可能需要 升级到操作系统的更新版本


大约一个月前我花了很多时间在这上面。这是一个巨大的痛苦,但我终于得到了工作

我遇到的一个问题是Brew在其python版本中做了一些非常烦人的事情。它使pythonv3成为默认值,因此如果在shell中键入
python
,则会得到v3而不是v2。我手动更改了“/usr/local/bin”中的相关符号链接,使v2成为默认值

我不记得我采取的所有步骤,但您希望您的“/usr/local/bin”看起来像这样:

openssl -> /usr/local/Cellar/openssl/1.0.2n/bin/openssl
pip -> ../Cellar/python/2.7.14_3/bin/pip2
python -> ../Cellar/python/2.7.14_3/bin/python2
然后,您将需要删除您的virtualenv并重新创建它们


请注意,我根本不使用python v3,因此如果您同时需要v2和v3,那么请使用YMMV。

希望这对这种情况下的其他人有所帮助……我让IT管理员帮助我,这是多种因素的组合,因此我在这里发布我的案例解决方案,以使其他人免于同样的挫折

这些说明假定您以管理员身份运行这些命令 首先删除自制软件: echo-ne'y\n'|/usr/bin/ruby-e“$(curl-fsSL)” sudo rm-rf/usr/local/Homebrew sudo rm-rf/usr/local/Caskroom sudo rm-rf/usr/本地/地下室

移除已安装的其他python(v2) sudorm-rf/Library/Frameworks/Python.framework/Versions/2.7 sudorm-rf“/应用程序/Python 2.7”

检查链接并删除在路径中发现的任何Cell ls-l/usr/local/bin | grep'../Library/Frameworks/Python.framework/Versions/2.7'| grep'ceral' 解除链接

重新安装自制软件 echo-ne'y\n'|/usr/bin/ruby-e“$(curl-fsSL)”

插件openssl brew安装openssl brew postinstall openssl brew链接openssl——强制

如果需要,强制链接openssl ln-s/usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib/usr/local/lib/ ln-s/usr/local/opt/openssl/lib/libssl.1.0.0.dylib/usr/local/lib/

外接程序Python brew安装python@2 brew后安装python@2 brew链接python@2--武力

链接openssl和Python(确保这些版本是您安装的版本) ln-s/usr/local/ceral/openssl/1.0.2o/bin/openssl/usr/local/bin/openssl ln-s/usr/local/ceral/openssl/1.0.2o/bin/openssl/usr/local/ssl/bin/openssl ln-s/usr/local/ceral/python/2.7.14/bin/python/usr/local/bin/python

安装后请清理自制软件 brew清理-s 啤酒桶清理 酿梅

从这里,命令显示了正确的版本
python-c’导入ssl;print ssl.OPENSSL_VERSION'

相关:我在Mac OS上,一直在尝试升级OPENSSL,但运气不好,我使用的是virtualenv,下面是当我按照针对Mac
$brew安装OPENSSL更新Homebrew的条带文章中的说明操作时发生的情况…==>自动更新的自制软件!更新了1次点击(自制/核心)。==>更新公式dnscrypt代理警告:openssl 1.0.2n已安装$brew安装python警告:python 3.6.4_4已安装
注意,我在另一个项目中使用python 3.6.4,但在这个项目中,我需要使用2.7.11。”哪个python指向我的VirtualEnvironment中的python?我是linux用户,所以如果这对olf有任何帮助,请不要犹豫。尝试
python2
而不是
python
——显然,答案是针对仅使用python2的系统。我不确定应该在路径中的何处使用python2。请参阅上面我对杰夫的评论。我用dev_appserver.py app.yamlI启动appengine服务器。我想我的问题可能与此有关,所以我为openssl创建了符号链接。现在我有:“openssl->/usr/local/ceral/openssl/1.0.2n/bin/openssl”、“pip->../ceral/python/2.7.12_2/bin/pip”、“python->../Library/Frameworks/python.framework/Versions/2.7/bin/python”。在这之后,我重新创建了virtualenv,激活了它,并仔细检查了openssl版本是“openssl 1.0.2n 2017年12月7日”,python-V是“python 2.7.11”,pip-V是“pip 9.0.1 from/usr/local/lib/python2.7/site-packages(python 2.7)”,当我运行dev_appserver.py app.yaml时,我仍然得到了关于TLS升级的相同信息:(我从stripe support运行了几条语句,我认为这可能会给我们一个线索(virtualenv dev)项目$openssl版本openssl 1.0.2n 2017年12月7日(virtualenv dev)项目$python-c“导入ssl;打印(ssl.openssl_版本)”openssl 0.9.8zh 2016年1月14日可能是您的路径还是PYTHONPATH?您有多个