проблема с версией openssl в Mac OS - PullRequest
0 голосов
/ 29 января 2019

Недавно я перешел на Mac OS (Mojave) из Windows.Я работаю над приложением Django.Его версия Python времени исполнения - 3.4.3, поэтому я скачал и установил конкретную версию из python.org.

Я установил требования для приложения.Здесь началась проблема:

Во-первых, пункт не был обновлен.Поэтому после некоторого исследования я нашел способ обновить его с помощью:

curl https://bootstrap.pypa.io/get-pip.py |python3

и причина использования этого.Затем я запускаю сервер.У одного из моих пакетов braintree==3.35.0 теперь есть проблема.

Я также искал проблему, и в некоторых сообщениях об этой проблеме ее решают с помощью brew для установки Python 3, чтобы избежать проблемы с версией openssl,так как мой текущий python 3.4.3 имеет

OpenSSL 0.9.8zh 14 января 2016

В моем понимании из сообщений о решении, установка python3 через brew устанавливает последнюю версиюдля python3 и устарела поддержка установки конкретной версии по формуле.Также некоторые посты советуют обновить request пакет.Но ни одна из них не решила мою проблему.

Мой вопрос здесь, как обновить версию openssl для python 3.4.3?

Всякий раз, когда я пытаюсь установить openssl с помощью brew, я получаю следующее:

openssl 1.0.2q уже установлен и обновлен. Чтобы переустановить 1.0.2q, запустите brew reinstall openssl

, но версия:

python3 -c "import ssl; print(ssl.OPENSSL_VERSION)"
OpenSSL 0.9.8zh 14 Jan 2016

при использовании brew reinstall openssl

Файл CA был загружен с использованием сертификатов из цепочки ключей SystemRoots.Чтобы добавить дополнительные сертификаты (например, сертификаты, добавленные в системную цепочку ключей), поместите файлы .pem в
/ usr / local / etc / openssl / certs

и запустите / usr / local / opt / openssl /bin / c_rehash

openssl предназначен только для кег, что означает, что он не был связан с символом / usr / local, потому что Apple отказалась от использования OpenSSL в пользу своих собственных библиотек TLS и crypto.

Если вам нужно сначала запустить openssl в вашем запуске PATH: echo 'export PATH = "/ usr / local / opt / openssl / bin: $ PATH"' >> ~ / .bash_profile

Чтобы компиляторы могли найти opensslвам может потребоваться установить: export LDFLAGS = "- L / usr / local / opt / openssl / lib" export CPPFLAGS = "- I / usr / local / opt / openssl / include"

Невозможночтобы понять выше.Поэтому нужна помощь, чтобы понять проблему.

...