2015-10-25 3 views
1

Я хотел бы иметь возможность создавать Python 2.7.10 на OS X 10.11 с поддержкой SSL. В настоящий момент модуль _ssl не удается построить, потому что Python не может обнаружить openssl, что, похоже, связано с тем, что Apple больше не включает OpenSSL в SDK 10.11. Предложение Apple заключается в том, что приложения используют SecureTransport SSL, но насколько я вижу, Python не поддерживает SecureTransport.Компиляция Python 2.7.10 с поддержкой SSL на OSX 10.11

Невозможно ли построить с поддержкой OpenSSL в установке «вне коробки» OSX, только с установленными инструментами командной строки XCode? Я бы предпочел не прибегать к менеджеру пакетов или управлять компиляцией моей собственной версии OpenSSL. Apple включила OpenSSL как часть базовой установки, поскольку, по крайней мере, OS X 10.5, так что ожидаю, что она будет безумной, я думаю.

Интересно, собственная версия от 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'> 

ответ

2

Строго говоря, вам не нужно строить OpenSSL, нужно просто заголовки доступны и затем скомпилировать Python против заголовков , Имея доступ к openssl, вы получаете другие полезные инструменты, которые могут пригодиться при устранении проблем, связанных с SSL.

Другие, чем делать выше вручную (или используя что-то вроде brew), не существует третий способ, так как Python поддерживает только OpenSSL для его SSL поддержка:

Этот модуль обеспечивает доступ к транспортному уровню Безопасность (часто известная как как «Secure Sockets Layer») шифрование и аутентификация со сверстниками средства для сетевых сокетов, как на стороне клиента, так и на стороне сервера. Этот модуль использует библиотеку OpenSSL. Он доступен для всех современных систем Unix , Windows, Mac OS X и, возможно, дополнительных платформ, как долго , так как на этой платформе установлен OpenSSL.

Вы должны знать, что компиляции OpenSSL на OSX имеет свой собственный набор вопросов (перечисленных в FAQ) - так что может быть стоит ваше время, чтобы придерживаться менеджера пакетов.

+0

Спасибо за понятие «сборщик OpenSSL на OSX имеет свой собственный набор проблем», мне потребовалось много часов, прежде чем я сдался ... –

Смежные вопросы