Я успешно установил Python 3.4 и Python 3.6 на свой локальный компьютер, но не могу устанавливать пакеты с расширением pip3
.
Когда я выполняю pip3 install <package>
, я получаю следующую ошибку, связанную с SSL :
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting <package>
Could not fetch URL https://pypi.python.org/simple/<package>/: There was a problem confirming the ssl certificate: Can't connect to HTTPS URL because the SSL module is not available. - skipping
Could not find a version that satisfies the requirement <package> (from versions: )
No matching distribution found for <package>
Как я могу исправить мою установку Python3.x, чтобы я мог устанавливать пакеты с помощью pip install <package>
?
sudo apt-get install python3-pip
??pip3 install --upgrade pip
и посмотрите, получите ли вы то же сообщение или нет.Ответы:
Пошаговое руководство по установке Python 3.6 и pip3 в Ubuntu
Установите необходимые пакеты для Python и ssl:
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
Загрузите и распакуйте «Python-3.6.8.tar.xz» с https://www.python.org/ftp/python/ в свой домашний каталог.
Откройте терминал в этом каталоге и запустите:
$ ./configure
Сборка и установка:
$ sudo make && sudo make install
Установите пакеты с помощью:
$ pip3 install package_name
источник
Если вы используете Red Hat / CentOS:
источник
openssl-devel
было его запуститьpython2.7 get-pip.py
Если вы работаете в Windows и используете anaconda, это сработало для меня:
Я пробовал много других решений, которые не работали (изменения переменной PATH среды ...)
Проблема может быть вызвана тем, что библиотеки DLL в папке Windows \ System32 (например, libcrypto-1_1-x64.dll или libssl-1_1-x64.dll или другие) размещены там другим программным обеспечением.
Исправление заключалось в установке openSSL с https://slproweb.com/products/Win32OpenSSL.html, который заменяет библиотеки DLL более поздними версиями.
источник
У меня была аналогичная проблема с OSX 10.11 из-за установки memcached, который установил python 3.7 поверх 3.6.
Потратил часы на отключение openssl, переустановку, изменение путей .. и ничего не помогло. Смена версии openssl на более старую сработала:
Я нигде в Интернете не видел этого предложения. Надеюсь, это кому-то поможет.
источник
brew switch openssl 1.0.2s
. Но это было все. Ты спас меня, спасибо!openssl
сработало:brew switch openssl 1.0.2t
я использую Mac OS Catalina 10.15.3. Надеюсь, поможет.Согласен с ответом mastaBlasta. Работал у меня. Я столкнулся с той же проблемой, что и в описании темы.
Среда: MacOS Sierra. И я использую Homebrew.
Мое решение:
brew uninstall openssl; brew install openssl
Согласно подсказкам Homebrew, сделайте следующее:
источник
brew uninstall openssl, brew install openssl
. Я попробовал,brew reinstall openssl
но безрезультатно. Но удаление / установка работает!brew uninstall --ignore-dependencies openssl
В Ubuntu это может помочь:
источник
Понижение версии openssl сработало для меня,
источник
Вероятно, проблема вызвана отсутствием библиотеки.
Перед установкой python 3.6 убедитесь, что вы установили все библиотеки, необходимые для python.
Дополнительная информация в разделе Как установить Python 3.6.0 на Ubuntu и LinuxMint.
источник
Если вы используете OSX и скомпилировали Python из исходного кода:
Установите openssl с помощью brew
brew install openssl
Обязательно следуйте инструкциям по настройке
CPPFLAGS
иLDFLAGS
. В моем случае я используюopenssl@1.1
формулу пивоварения, и мне нужны эти 3 настройки для процесса сборки python, чтобы правильно ссылаться на мою библиотеку SSL:Предполагая, что библиотека установлена в этом месте.
источник
openssl
сработал:brew switch openssl 1.0.2t
я использую Mac OS Catalina 10.15.3. Надеюсь, поможет.Я столкнулся с той же проблемой в Windows 10. Моя очень специфическая проблема связана с моей установкой Anaconda. Я установил Anaconda, и по пути
Path/to/Anaconda3/
появляется файлpython.exe
. Таким образом, я вообще не устанавливал python, потому что Anaconda включает python. При использовании pip для установки пакетов я обнаружил тот же отчет об ошибкеpip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
.Решение было следующее:
1) вы можете повторно скачать python на официальном сайте ;
2) Перейдите в каталог, в котором
"Python 3.7 (64-bit).lnk"
находится3)
import ssl
иexit()
4) введите cmd,
"Python 3.7 (64-bit).lnk" -m pip install tensorflow
например, .Здесь все готово.
источник
cmd /c $py .\main.py
( Powershell ) илиcmd /c %py% .\main.py
( Dos ). Это запустит его в вашей существующей оболочке и может быть написано сценариемЕсли вы работаете в Windows и используете Anaconda, вы можете попробовать запустить команду «pip install ...» в Anaconda Prompt вместо cmd.exe, как предлагает здесь пользователь willliu1995 . Для меня это было самое быстрое решение, не требующее установки дополнительных компонентов.
источник
Я попытался МНОГО способов решить эту проблему, но ни один не решил. Сейчас я использую Windows 10.
Единственное, что сработало:
Затем я загрузил все необходимые библиотеки с помощью PIP ... и работал!
Не знаю, почему и была ли проблема каким-то образом связана с Анакондой.
источник
для пользователей osx brew
Моя проблема возникла, связанная с моей установкой Python, и была быстро решена путем повторной установки python3 и pip. я думаю, что он начал плохо себя вести после обновления ОС, но кто знает (в настоящее время я использую Mac OS 10.14.6)
источник
brew reinstall python3 --force
было достаточно:pip
после этого снова заработал , мне не нужно было переустанавливатьpip
.Вы можете сделать одно из этих двух:
или
\ Анаконда
\ Анаконда \ Библиотека \ mingw-w64 \ bin
\ Анаконда \ Библиотека \ usr \ bin
\ Anaconda \ Library \ bin
\ Анаконда \ Скрипты
\ anaconda \ Библиотека
\ anaconda \ condabin
Добавьте указанные выше пути в системную переменную "Path", и ошибка больше не должна отображаться :)
источник
У меня была такая же проблема, и я смог ее решить, выполнив следующие действия:
в зависимости от химической завивки вам может не понадобиться sudo.
теперь должен быть в состоянии запустить
и
При установке пакетов:
или, в зависимости от perms, вы также можете добавить флаг --user следующим образом:
источник
ssl
Модуль является TLS / SSL обертка для доступа к операции Sytem (OS) гнездо ( Lib / ssl.py ). Поэтому, когдаssl
модуль недоступен, есть вероятность, что у вас либо не установлены библиотеки OpenSSL ОС, либо эти библиотеки не были найдены при установке Python. Предположим, что это более поздний случай (он же: у вас уже установлен OpenSSL, но они неправильно связаны при установке Python).Я также предполагаю, что вы устанавливаете из исходников. Если вы производите установку из двоичного файла (например, из файла Window .exe) или пакета (Mac .dmg или Ubuntu apt), вы мало что можете сделать с процессом установки.
На этапе настройки вашей установки python вам необходимо указать, где OS OpenSSL будет использоваться для связывания:
Итак, где вы найдете установленный каталог OpenSSL?
Ваша система может отличаться от моей, но, как вы видите, у меня установлено много разных библиотек openssl. На момент написания этой статьи python 3.8 ожидает openssl 1.0.2 или 1.1:
Поэтому вам нужно будет проверить, какие из этих установленных библиотек вы можете использовать для компоновки, например
Возможно, вам придется попробовать несколько или установить новую, чтобы найти библиотеку, которая подойдет для вашего Python и вашей ОС.
источник
В моем случае с Mac я удалил
/Applications/Python 3.7
. потому что у меня уже был Python3.7 отbrew install python3
.Но это было триггером сообщения
Что я сделал в своей ситуации
/Applications/Python3.6/Install Certificates.command
и/Applications/Python3.6/Update Shell Profile.command
.pip.conf
. См. Pip install fails .источник
Я наконец решил эту проблему. Это детали моего env:
Версия Python для установки: 3.6.8
ОС: Ubuntu 16.04.6 LTS
Корневой доступ: Нет
Некоторые люди предлагают установить
libssl-dev
, но у меня это не сработало. Я перехожу по этой ссылке и исправил!Короче говоря, я загружаю, распаковываю, собираю и устанавливаю OpenSSL (openssl-1.1.1b.tar.gz). Затем я изменяю
.bashrc
файл по этой ссылке .Затем я загружаю и извлекаю Python-3.6.8.tgz. Я редактирую Modules / Setup.dist, чтобы изменить путь SSL (строки вокруг # 211). Я сделал
./configure --prefix=$HOME/opt/python-3.6.8
,make
иmake install
. Наконец, я изменяю свой.bashrc
. Обратите внимание, что я не включаю--enable-optimizations
в./configure
.источник
В macos настройте python 3.8.1 с помощью приведенной ниже команды, чтобы решить проблему, я думаю, что она также будет работать в Linux.
измените параметр dir в зависимости от вашей системы.
источник
Если вы используете OSX и другие решения не помогли вам (как и я).
Вы можете попробовать удалить python3 и обновить pip3
Это сработало для меня;)
источник
(НЕ в Windows!)
Это заставило меня рвать волосы на неделю, так что я надеюсь, что это кому-то поможет
Я пробовал все, кроме переустановки Anaconda и / или Jupyter.
Настроить
./anaconda3/bin/python
)/usr/bin/python
и/usr/bin/python3
(но они не использовались, поскольку большая часть работы выполнялась в терминале Jupyter)Fix
В терминале Jupyter:
cp /usr/lib64/libssl.so.10 ./anaconda3/lib/libssl.so.1.0.0
cp /usr/lib64/libcrypto.so.10 ./anaconda3/lib/libcrypto.so.1.0.0
Что спровоцировало это?
Итак, все это работало, пока я не попробовал
conda install conda-forge
Я не уверен, что случилось, но conda должно быть обновилась
openssl
на коробке (я предполагаю), поэтому после этого все сломалось.В принципе, мне неизвестно, conda обновила openssl, но каким-то образом удалила старые библиотеки и заменила их на
libssl.so.1.1
иlibcrypto.so.1.1
.Python3, я полагаю, был скомпилирован для поиска
libssl.so.1.0.0
В конце концов ключ к диагностике заключался в следующем:
python -c "import ssl; print (ssl.OPENSSL_VERSION)"
дал ключ
library "libssl.so.1.0.0" not found
Я сделал огромное предположение, что
yum
версия ssl такая же, как и версияconda
версия, поэтому простое переименование общего объекта может сработать, и это сработало.Другим моим решением было перекомпилировать python, переустановить анаконду и т. Д., Но, в конце концов, я рад, что мне это не понадобилось.
Надеюсь, это поможет вам, ребята.
источник
В случае использования
pyenv
для управления установками python в Mac OS Catalina мне пришлосьopenssl
сначала установить с помощью brew, а затем после этого запуска,pyenv install 3.7.8
который, казалось, собирал установку python с использованиемopenssl
from homebrew (это даже было сказано как таковое в выводе установки). Тогдаpyenv global 3.7.8
и меня не было.источник
Я смог исправить это, обновив версию python в этом файле. pyenv: версия 3.6.5 не установлена (устанавливается /Users/taruntarun/.python-version) Хотя у меня была установлена последняя версия, моя команда все еще использовала старую версию 3.6.5
Переход на версию 3.7.3
источник
У меня была такая же проблема последние два дня, и я решил ее только сейчас.
Я пытался использовать
--trust-host
опцию,DigiCert_High_Assurance_EV_Root_CA.pem
но не сработало, я не смог установить модуль ssl (он говорит, что он не может быть установлен для версий python выше 2.6), установка$PIP_CERT
переменной тоже не исправила его, и я установилlibssl1.0.2
иlibssl1.0.0
установил. Также стоит упомянуть, что у меня не было~/.pip/pip.conf
файла, и его создание тоже не устранило ошибку.Что, наконец, решило это, так это установка python3.6
make
снова с. Скачать Python-3.6.0.tgz с веб - сайта, запуститьconfigure
затемmake
,make test
иmake install
. Надеюсь, это сработает для вас.источник
Документация python на самом деле очень ясна, и следование инструкциям выполнило работу, тогда как другие ответы, которые я нашел здесь, не исправляли эту проблему.
сначала установите python 3.xx из исходного кода, используя, например, версию 3.6.2 https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
убедитесь, что у вас установлен openssl, запустив
brew install openssl
разархивируйте его и перейдите в каталог python:
tar xvzf Python-3.6.2.tar.xz && cd Python-3.6.2
тогда, если версия python <3.7, запустите
CPPFLAGS="-I$(brew --prefix openssl)/include" \ LDFLAGS="-L$(brew --prefix openssl)/lib" \ ./configure --with-pydebug
5. Наконец, запуститеmake -s -j2
(-s
этот флаг-j2
говорит вашей машине, что нужно использовать 2 задания)источник
У меня была такая же проблема при установке python3.7 на машину ubuntu14.04. Проблема заключалась в том, что у меня было несколько пользовательских папок в моем PKG_CONFIG_PATH и в моем LD_LIBRARY_PATH, что не позволяло процессу сборки python находить системные библиотеки openssl.
поэтому попробуйте очистить их и посмотреть, что произойдет:
источник
Хорошо, последний ответ на этот вопрос, на данный момент не используйте Python 3.8 , используйте только 3.7 или меньше, потому что большинство библиотек не удается установить с указанной выше ошибкой
источник
gcc
,openssl
иzlib
. Поэтому важно установить эти предварительные условия перед компиляцией python, особенно при использовании в Linux.