簡體   English   中英

在OSX 10.11上編譯具有SSL支持的Python 2.7.10

[英]Compiling Python 2.7.10 with SSL support on OSX 10.11

我希望能夠在具有SSL支持的OS X 10.11上構建Python 2.7.10。 目前_ssl模塊無法構建,因為Python無法檢測到openssl,這似乎是因為Apple不再在10.11 SDK中包含OpenSSL。 蘋果公司的建議是讓應用程序使用SecureTransport SSL,但據我所知,Python不支持SecureTransport。

在僅安裝XCode命令行工具的OSX安裝中,是否不再可以使用OpenSSL支持進行構建? 我希望不必求助於包管理器或管理自己的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'>

嚴格來說,您不需要構建OpenSSL,只需要可用的標頭,然后針對標頭編譯Python。 使用openssl可以提供其他一些不錯的工具,這些工具可以在解決SSL相關問題時派上用場。

除了手動執行上述操作(或使用brew )外,沒有第三種方法,因為Python僅支持openssl作為其SSL支持:

此模塊提供對客戶端和服務器端網絡套接字的傳輸層安全性(通常稱為“安全套接字層”)加密和對等身份驗證功能的訪問。 該模塊使用OpenSSL庫。 只要在該平台上安裝了OpenSSL,它就可以在所有現代Unix系統,Windows,Mac OS X以及可能的其他平台上使用。

您應該知道,在OSX上編譯OpenSSL有其自身的問題(在FAQ中列出)-因此,值得您花時間堅持使用軟件包管理器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM