我希望能够在支持SSL的OS X 10.11上构建Python 2.7.10。目前,_ssl
模块无法构建,因为Python无法检测到openssl,这似乎是因为Apple不再在10.11 SDK中包含OpenSSL。 Apple建议使用SecureTransport SSL,但据我所知,Python不支持SecureTransport。
是不是可以在开箱即用的情况下使用OpenSSL支持进行构建" OSX安装,只安装了XCode命令行工具?我不想诉诸程序包管理器或管理我自己的OpenSSL版本。自从至少OS X 10.5以来,Apple已经将OpenSSL作为基础安装的一部分包含在内,所以我认为它不会让我感到疯狂。
有趣的是,Apple自己的Python 2.7.10版本具有SSL支持:
$ /usr/bin/python
Python 2.7.10 (default, Aug 22 2015, 20:33:39)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import _ssl
>>> _ssl
<module '_ssl' from '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lin-dynload/_ssl.so'>
答案 0 :(得分:2)
严格来说,您不需要构建OpenSSL,只需要可用的标头,然后针对标头编译Python。 openssl可用提供了其他很好的工具,在解决SSL相关问题时可能会派上用场。
除了手动执行上述操作(或使用brew
之类的内容)之外,还没有第三种方式,因为Python仅支持openssl以获得SSL支持:
此模块提供对传输层安全性的访问(通常是已知的) 作为“安全套接字层”)加密和对等身份验证 用于网络套接字的设施,包括客户端和服务器端。这个 module使用OpenSSL库。它适用于所有现代Unix 系统,Windows,Mac OS X,可能还有其他平台 因为OpenSSL安装在该平台上。
你应该知道在OSX上编译OpenSSL有一系列问题(在FAQ中列出) - 所以坚持使用包管理器可能是值得的。