我有一个奇怪的问题,我希望得到帮助。我的Python代码使用HTTPS上的Requests模块通过Internet获取JSON信息。尽管我必须按照this link中的讨论安装OpenSSL / PyOpenSSL以删除不安全的平台通知,但在非virtenv Python实例中一切运行顺利。
现在,作为使用Flask的一部分,我创建了一个虚拟环境。不幸的是,SSL错误又回来了,上面链接中列出的每个方法都不起作用。以下是错误消息:
/home/pi/.virtualenvs/flasktest1/local/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning:真正的SSLContext对象不可用。 这可以防止urllib3适当地配置SSL并可能导致 某些SSL连接失败。有关更多信息,请参阅 https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning。 InsecurePlatformWarning
最明显的解决方案是在virtenv中安装OpenSSL / PyOpenSSL,但不幸的是安装失败并出现下面列出的错误。
命令" /home/pi/.virtualenvs/flasktest1/bin/python -c" import setuptools的, tokenize; file =' /tmp/pip-build-6D2PfU/cffi/setup.py' ;; exec(compile(getattr(tokenize,' open',打开)(文件)。read()。replace(' \ r \ n',' \ n'),文件 , ' EXEC'))"安装--record /tmp/pip-o43kpB-record/install-record.txt --single-version-external-managed --compile --install-headers /home/pi/.virtualenvs/flasktest1/include/site/python2.7/cffi"失败 / tmp / pip-build-6D2PfU / cffi
中的错误代码为1
我现在不知道如何解决这个问题。需要说明的是,此应用程序是在防火墙后开发的,仅用于实验目的,不会公开访问。但是,这个错误导致了困难,我只想让它停止。
提前谢谢!
答案 0 :(得分:4)
对我来说(OS X 10.10),pip install pyopenssl ndg-httpsclient pyasn1
解决了这个问题。