Pip3 не работает из-за ошибки модуля SSL - PullRequest
0 голосов
/ 30 октября 2019

В странной ситуации, когда pip install работает нормально, но pip3 install завершается неудачно с сообщением ниже. Все работало правильно, до недавнего времени я впервые использовал виртуальную среду.

$ pip3 install yahoo_fin

WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Requirement already satisfied: yahoo_fin in /usr/local/lib/python3.7/site-packages (0.8.2)
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping

Я сталкивался с несколькими подобными постами, и я думаю, что перепробовал их все, включая brew install openssl, brew reinstall python, pip3 install certifi ... но ни один из них не работает.

Для справки:

$, какой python3:

/usr/local/bin/python3 

$, какой pip3

/usr/local/bin/pip3 

$ python3 --version

Python 3.7.4

Любая помощь будет принята с благодарностью, когда я врежусь в стену.

Дополнительная информация с оригинального сообщения

Когда я запустил следующее:

$ python -c "import ssl; print(ssl.OPENSSL_VERSION)"

он вернул:

LibreSSL 2.2.7

Но потом, когда я запустил это:

python3 -c "import ssl; print (ssl.OPENSSL_VERSION)"

Я получил:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py", line 98, in <module>
    import _ssl             # if we can't import it, let the error propagate
ImportError: dlopen(/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload/_ssl.cpython-37m-darwin.so, 2): Library not loaded: /usr/local/opt/openssl@1.1/lib/libssl.1.1.dylib
  Referenced from: /usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload/_ssl.cpython-37m-darwin.so
  Reason: image not found

Ошибка выше сути проблемы? Если так, как я могу это исправить?

1 Ответ

0 голосов
/ 04 ноября 2019

Подобная проблема возникала со мной, когда я пытался установить пакеты с помощью conda. Решением было добавить следующие пути в мою системную переменную:

  • C: .. \ anaconda3
  • C: .. \ anaconda3 \ Scripts
  • C:.. \ anaconda3 \ Library \ bin

Полагаю, что для них могут быть эквиваленты с pip / вашим интерпретатором python.

Примечание: это также работает для пользователей без прав администратора,поскольку в некоторых случаях люди переключаются на conda, поскольку это позволяет устанавливать Python без прав администратора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...