gpt4 book ai didi

python - 在 OSX 10.11 上编译支持 SSL 的 Python 2.7.10

转载 作者:太空宇宙 更新时间:2023-11-03 13:16:40 27 4
gpt4 key购买 nike

我希望能够在支持 SSL 的 OS X 10.11 上构建 Python 2.7.10。现在 _ssl 模块无法构建,因为 Python 无法检测到 openssl,这似乎是因为 Apple 不再在 10.11 SDK 中包含 OpenSSL。 Apple 建议应用程序使用 SecureTransport SSL,但据我所知,Python 不支持 SecureTransport。

是否不再可能在“开箱即用”的 OSX 安装中仅安装 XCode 命令行工具来构建 OpenSSL 支持?我宁愿不必求助于包管理器或管理编译我自己的 OpenSSL 版本。 Apple 至少从 OS X 10.5 开始就将 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'>

最佳答案

严格来说,您不需要构建 OpenSSL,您只需要可用的 header ,然后根据 header 编译 Python。使用 openssl 可以提供其他不错的工具,这些工具在解决 SSL 相关问题时可能会派上用场。

除了手动执行上述操作(或使用 brew 之类的东西)之外,没有第三种方法,因为 Python 仅支持 openssl 来支持 SSL:

This module provides access to Transport Layer Security (often known as “Secure Sockets Layer”) encryption and peer authentication facilities for network sockets, both client-side and server-side. This module uses the OpenSSL library. It is available on all modern Unix systems, Windows, Mac OS X, and probably additional platforms, as long as OpenSSL is installed on that platform.

您应该知道在 OSX 上编译 OpenSSL 有其自身的一系列问题(在 FAQ 中列出)- 因此您可能值得坚持使用包管理器。

关于python - 在 OSX 10.11 上编译支持 SSL 的 Python 2.7.10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33326685/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com