версия python: 3.6 (дистрибутив Intel для Python для Windows 2018, обновление 1)
виртуальная версия: 15.1.0
версия для Windows: Windows 10 Pro, сборка 17101.rs4_release.180211-1040
Я выполнил только 2 команды, вот что выводит Powershell:
PS E:\Python\Virtualenv\Scripts> .\activate
(Virtualenv) PS E:\Python\Virtualenv\Scripts> pip install numpy
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting numpy
Could not fetch URL https://pypi.python.org/simple/numpy/: 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 numpy (from versions: )
No matching distribution found for numpy
Этот каталог Python
находится не там, где установлен python, это обычный каталог.
Я попытался установить какой-нибудь автономный openssl, например отсюда , но ни один из них не сработал.
Я предполагаю, что используемый pip
- это тот, что находится в вашем virtualenv
. Можно ли установить вашу _систему_ pip
? Если нет, то это может быть не проблема virtualenv...
@тобиашерп
Система pip
в порядке, но pip
в virtualenv бесполезна.
Я не знаю, в чем проблема, я даже не могу найти подобную ситуацию в Google. :(
Не только numpy
, он не может установить какой-либо пакет онлайн. Но если есть файл колеса, его можно успешно установить, поэтому я думаю, что проблема может быть связана с SSL.
Правильно, PyPI теперь использует https, поэтому вам нужна поддержка ssl. Если в вашей системе Python его нет, то и в вашем virtualenv его не будет. В Python 3 вы должны иметь возможность импортировать модуль ssl
:
>>> import ssl
Лучше всего переключиться на интерпретатор с модулем ssl
.
Интерпретатор 3.6.4, который я только что скачал с https://www.python.org/ , похоже, поддерживает ssl.
AFAICS, это не проблема virtualenv
; предлагает закрыть его.
Это может быть не проблема venv, но это все еще проблема. В моем случае я не могу установить в venv или системном пипе
У меня установлен IntelPython3 на Win 10 64 бит, и ДА, у него установлен и скомпилирован openssl, но по какой-то причине ничего не работает
Я видел это: [(https://software.intel.com/en-us/forums/intel-distribution-for-python/topic/737878#comment-1920719)]
Но я не смог исправить свою версию этой проблемы.
Любые советы по этому вопросу будут очень полезны
@theCJMan вы все еще испытываете эту проблему?
у меня есть эта проблема
Вт, 17 апреля 2018 г., 19:44 Сумана Харихаресвара, уведомления@github.com
написал:
@theCJMan https://github.com/theCJMan вы все еще испытываете это
проблема?—
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/pypa/virtualenv/issues/1139#issuecomment-382081077 ,
или заглушить тему
https://github.com/notifications/unsubscribe-auth/AkTyyw5zfrJFZleItkAkrR1_kE9R-C8Cks5tpioOgaJpZM4SWUf4
.
Безопасность транспортного уровня, или TLS, является частью того, как мы обеспечиваем конфиденциальность и безопасность соединений между вашим компьютером и PyPI. Это криптографический протокол, который с течением времени имел несколько версий.
Вам необходимо подключиться к PyPI с библиотекой поддержки TLS, например с последней версией OpenSSL. Конкретные шаги, которые вам необходимо предпринять, будут зависеть от версии вашей операционной системы, места установки Python (python.org, вашего поставщика ОС или промежуточного дистрибьютора) и установленных версий Python, setuptools
, pipenv
и pip
. Для получения помощи перейдите на IRC-канал #pypa на Freenode , отправьте сообщение о проблеме в pypa/packaging-problems/issues или отправьте сообщение в список рассылки python-help , включая информацию о вашей ОС и установке, а также вывод pip install -vvv обновить пип .
Я также испытал это на macos, python 2.7.15 - системный python работал нормально, виртуальную среду не удалось установить из-за
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
мой системный python нормально импортировал ssl, но venv python выдал следующую ошибку:
raceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 126, in <module>
from _ssl import HAS_SNI, HAS_ECDH, HAS_NPN, HAS_ALPN, HAS_TLSv1_3
ImportError: cannot import name HAS_TLSv1_3
после удаления каталога env и воссоздания env все заработало нормально.
У меня та же проблема, что и у @liurui39660 , я также использую дистрибутив Intel Python и python -m venv
для создания своего venv. Кажется, это проблема с модулем ssl
, не имеющая ничего общего с pip
:
(venv) C:\Users\ceefour\git\tews\ecn-svc>python
Python 3.6.3 |Anaconda custom (64-bit)| (default, May 3 2018, 23:39:44) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Intel(R) Distribution for Python is brought to you by Intel Corporation.
Please check out: https://software.intel.com/en-us/python-distribution
>>> import ssl
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\ProgramData\Anaconda3\lib\ssl.py", line 101, in <module>
import _ssl # if we can't import it, let the error propagate
ImportError: DLL load failed: The operating system cannot run %1.
>>>
Обратите внимание, что ошибка возникает только при использовании Intel Python внутри venv. При использовании базовой среды это работает:
(base) C:\Users\ceefour>python
Python 3.6.3 |Anaconda custom (64-bit)| (default, May 3 2018, 23:39:44) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Intel(R) Distribution for Python is brought to you by Intel Corporation.
Please check out: https://software.intel.com/en-us/python-distribution
>>> import ssl
>>>
Обновление: этот поток кажется подсказкой:
Рохит Дж. (Intel) Чт, 06.07.2017 - 21:40
pip нельзя было использовать ни с IDP, ни с Miniconda в Windows. Проблема была связана с конфликтующей библиотекой (libeay32.dll), которая была установлена по системному пути. Во время выполнения загрузка этой библиотеки имела приоритет над тем, что мы поставляем с нашим дистрибутивом. Возник конфликт версий, и выполнение завершится ошибкой «ImportError: Ошибка загрузки DLL: операционная система не может запустить %1.». Удаление этой посторонней библиотеки из системного пути решило проблему.
У меня есть _много_ libeay32.dll
внутри C:\Program Files
, в том числе один в C:\ProgramData\Anaconda3\Library\bin
Я попытался переместить C:\ProgramData\Anaconda3\Library\bin
перед PATH
, но все равно возникает ошибка.
Я была такая же проблема. Я настраивал новый компьютер с python и jupyter с anaconda, и проблема возникла, когда я попытался установить пакет с использованием pip.
Основываясь на приведенных выше обсуждениях, что это проблема среды, я попытался запустить команду «pip install» в Anaconda Prompt вместо cmd . И команда pip была выполнена. 😁
Я все еще борюсь со вчерашним днем, после установки Python 3.7.1 с Anaconda3.
В pip настроены местоположения, для которых требуется TLS/SSL, однако модуль ssl в Python недоступен.
Повторная попытка (Retry(total=4, connect=None, read=None, redirect=None, status=None)) после разрыва соединения из-за ошибки SSLError("Не удается подключиться к URL-адресу HTTPS, поскольку модуль SSL недоступен"). ': /простой/пип/
Повторная попытка (Retry(total=3, connect=None, read=None, redirect=None, status=None)) после разрыва соединения из-за ошибки SSLError ("Не удается подключиться к URL-адресу HTTPS, поскольку модуль SSL недоступен"). ': /простой/пип/
Повторная попытка (Retry(total=2, connect=None, read=None, redirect=None, status=None)) после разрыва соединения из-за ошибки SSLError ("Не удается подключиться к URL-адресу HTTPS, поскольку модуль SSL недоступен"). ': /простой/пип/
Повторная попытка (Retry(total=1, connect=None, read=None, redirect=None, status=None)) после разрыва соединения из-за ошибки SSLError («Не удается подключиться к URL-адресу HTTPS, поскольку модуль SSL недоступен».) ': /простой/пип/
Повторная попытка (Retry(total=0, connect=None, read=None, redirect=None, status=None)) после разрыва соединения из-за ошибки SSLError ("Не удается подключиться к URL-адресу HTTPS, поскольку модуль SSL недоступен"). ': /простой/пип/
Не удалось получить URL-адрес https://pypi.org/simple/pip/ : возникла проблема с подтверждением сертификата ssl: HTTPSConnectionPool(host='pypi.org', port=443): превышено максимальное количество попыток с URL-адресом: /simple/ pip/ (Вызвано SSLError («Не удается подключиться к URL-адресу HTTPS, поскольку модуль SSL недоступен».)) — пропуск
Требование уже актуально: pip в d:\anaconda3\lib\site-packages (18.1)
В pip настроены местоположения, для которых требуется TLS/SSL, однако модуль ssl в Python недоступен.
Не удалось получить URL-адрес https://pypi.org/simple/pip/ : возникла проблема с подтверждением сертификата ssl: HTTPSConnectionPool(host='pypi.org', port=443): превышено максимальное количество попыток с URL-адресом: /simple/ pip/ (Вызвано SSLError («Не удается подключиться к URL-адресу HTTPS, поскольку модуль SSL недоступен».)) — пропуск
У меня такая же проблема. Использование предложения willliu1995 решило проблему. Запуск pip из командной строки cmd не работал, но запускал блокнот jupyter и запускал !pip install
Если pip install pandas не работает в командной строке CMD, запустите ее с помощью командной строки Anaconda — она работает. Вы можете найти подсказку Anaconda, используя это:
Перейдите с помощью мыши к значку Windows (внизу слева) и начните вводить «Анаконда». Там должно появиться несколько совпадающих записей. Выберите «Подсказка Анаконды». Откроется новое командное окно под названием Anaconda Prompt. Источник - https://stackoverflow.com/questions/47914980/how-to-access-anaconda-command-prompt-in-windows-10-64-bit
Если вы предпочитаете вместо этого использовать командную строку Windows, вам нужно будет добавить следующие каталоги в путь к среде Windows:
%Miniconda3_DIR%;%Miniconda3_DIR%\Library\mingw-w64\bin;%Miniconda3_DIR%\Library\usr\bin;%Miniconda3_DIR%\Library\bin;%Miniconda3_DIR%\Scripts;%Miniconda3_DIR%\bin;
[где %Miniconda3_DIR%
следует заменить на путь установки Miniconda (или Anaconda)]
Например, у меня установлена Miniconda по адресу E:\Portable\Miniconda3
. Поэтому мой Windows PATH должен был включать следующие папки:
E:\Portable\Miniconda3;E:\Portable\Miniconda3\Library\mingw-w64\bin;E:\Portable\Miniconda3\Library\usr\bin;E:\Portable\Miniconda3\Library\bin;E:\Portable\Miniconda3\Scripts;E:\Portable\Miniconda3\bin;
@shriprem Спасибо! Это сработало. Ваше решение подтверждает, что это проблема с системным путем, поскольку, как правило, для использования pip необходимо только добавить %Miniconda3_DIR%\Scripts в переменную PATH. Есть идеи, почему это изменилось?
@EthanBackToLife Я проверил переменную среды PATH в приглашении Anaconda и обнаружил, что Anaconda добавляет префикс ко всем этим каталогам в свою переменную PATH приглашения. Поэтому я добавил дельта-часть этого пути к переменной Windows PATH, чтобы подтвердить, что она работает для pip.
Пытаясь установить Conda на другой компьютер, я могу уточнить изменения пути, сделав их намного короче: %Miniconda3_DIR%;%Miniconda3_DIR%\Scripts;%Miniconda3_DIR%\Library\bin
[Оглядываясь назад, мы видим, что другие каталоги, которые были добавлены к пути из моего предыдущего поста, не существуют/пусты при новой установке Conda.]
С этим сужением пути мы можем посмотреть на папку %Miniconda3_DIR%\Library\bin
. Здесь мы находим такие файлы, как: libcrypto-1_1-x64.dll, libcrypto-1_1-x64.pdb, libssl-1_1-x64.dll, openssl.exe, libssl-1_1-x64.pdb, openssl.pdb
, которые, как мне кажется, имеют решающее значение для решения проблем с SSL/TLS при установке пакета pip (и conda).
версия python: 3.6 (дистрибутив Intel для Python для Windows 2018, обновление 1)
виртуальная версия: 15.1.0
версия для Windows: Windows 10 Pro, сборка 17101.rs4_release.180211-1040Я выполнил только 2 команды, вот что выводит Powershell:
PS E:\Python\Virtualenv\Scripts> .\activate (Virtualenv) PS E:\Python\Virtualenv\Scripts> pip install numpy pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. Collecting numpy Could not fetch URL https://pypi.python.org/simple/numpy/: 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 numpy (from versions: ) No matching distribution found for numpy
Этот каталог
Python
находится не там, где установлен python, это обычный каталог.Я попытался установить какой-нибудь автономный openssl, например отсюда , но ни один из них не сработал.
Я столкнулся с тем же вопросом, что и вы, и попытался использовать команду .\activate, а затем полностью решил вопрос, я больше не мог вас благодарить.
@EthanBackToLife Я проверил переменную среды PATH в приглашении Anaconda и обнаружил, что Anaconda добавляет префикс ко всем этим каталогам в свою переменную PATH приглашения. Поэтому я добавил дельта-часть этого пути к переменной Windows PATH, чтобы подтвердить, что она работает для pip.
Пытаясь установить Conda на другой компьютер, я могу уточнить изменения пути, сделав их намного короче:
%Miniconda3_DIR%;%Miniconda3_DIR%\Scripts;%Miniconda3_DIR%\Library\bin
[Оглядываясь назад, мы видим, что другие каталоги, которые были добавлены к пути из моего предыдущего поста, не существуют/пусты при новой установке Conda.]С этим сужением пути мы можем посмотреть на папку
%Miniconda3_DIR%\Library\bin
. Здесь мы находим такие файлы, как:libcrypto-1_1-x64.dll, libcrypto-1_1-x64.pdb, libssl-1_1-x64.dll, openssl.exe, libssl-1_1-x64.pdb, openssl.pdb
, которые, как мне кажется, имеют решающее значение для решения проблем с SSL/TLS при установке пакета pip (и conda).
Отличное объяснение! Спасибо.
У меня все еще есть эта проблема после того, как прокомментировал @shriprem . Python версии 3.7.1 и pip версии 18.1, если это поможет.
«Я могу решить эту проблему, добавив путь к каталогу intel-python, который имеет libeay32.dll (в моем случае ..\IntelPython3\pkgs\openssl-1.0.2l-vc14_intel_0\Library\bin) в системной среде как самую верхнюю позицию. "
ссылка: https://software.intel.com/en-us/forums/intel-distribution-for-python/topic/737878
Я обнаружил, что для использования pip требуется каталог «Scripts».
Для Windows 10. Если установка pip не работает в командной строке CMD, запустите ее с помощью командной строки Anaconda — она работает.
Если вы хотите использовать pip в обычном CMD, а не только в приглашении Anaconda.
вам нужно добавить 3 пути среды.
как это:
Д:\Анаконда3;
Д:\Анаконда3\Скрипты;
Д:\Анаконда3\Библиотека\бин
большинство людей добавляют только D:\Anaconda3\Scripts;
Укажите путь C:\Anaconda3\Library\bin в пользовательских переменных среды.
Или
Просто проверьте, установлен ли у вас openssl в базовом питоне.
Если не просто установить с помощью следующей команды
pip установить pyopenssl
Я считаю, что пути добавлены правильно, но pip по-прежнему не работает ни в CMD, ни в приглашении Anaconda.
вы пробовали из каталога "Scripts"?
вы пробовали из каталога "Scripts"?
Если вы имеете в виду cd xxx/Scripts, а затем pip install, я только что попробовал, и это не работает.
@SnarkyPapi , вы говорите: «Я считаю, что пути добавлены правильно». Чтобы подтвердить этот факт, выполните 4 команды, выделенные жирным шрифтом ниже.
Команда: > где питон
Вывод должен быть примерно таким: _C:\Miniconda3-x64\python.exe_
Команда: > где точка
Вывод должен выглядеть примерно так: _C:\Miniconda3-x64\Scriptspip.exe_
Команда: > где openssl
Вывод должен быть примерно таким:
[Обратите внимание, что openssl.exe может быть установлен в нескольких местах пути среды. В моем случае openssl также был установлен как часть установки Perl]
_C:\Perl\c\bin\openssl.exe
C:\Miniconda3-x64\Library\bin\openssl.exe_
Команда: > где libssl-1_1-x64.dll
Вывод должен быть примерно таким: _C:\Miniconda3-x64\Library\bin\libssl-1_1-x64.dll_
Для любого из них, если вы получаете вывод, который говорит: «ИНФОРМАЦИЯ: не удалось найти файлы для данного шаблона (ов)», то в вашей среде отсутствует один из необходимых компонентов пути, необходимых для pip.
Привет, 4 команды работали хорошо, а для 4-й он показывает 2 строки:
C:\Windows\System32\libssl-1_1-x64.dll
C:\Anaconda\Library\bin\libssl-1_1-x64.dll
похоже, вы можете поместить "C:\Anaconda\Library\bin" в начало вашего $PATH
похоже, вы можете поместить "C:\Anaconda\Library\bin" в начало вашего $PATH
Только что попробовал, проблема осталась.
ты можешь echo %PATH%
возможно, вы открыли новый терминал для изменения PATH
Альтернативное решение: мне просто удалось заставить его работать, создав файл pip.ini в папке C:\Users\my_user_namepip, написав:
[Глобальный]
URL-адрес = http://pypi.douban.com/simple/
[установить]
доверенный хост = pypi.douban.com
На данный момент это решает проблему, однако скорость загрузки с использованием этого зеркала не очень высока (около 800 кбит/с). Есть ли способ заставить его работать как обычно?
ты можешь
echo %PATH%
возможно, вы открыли новый терминал для изменения PATH
C:\Anaconda\Library\bin;D:\Software\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin;D:\Software\NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvvp;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Razer Chroma SDK\bin;D:\Software\Razer Chroma SDK\bin;C:\windows\system32;C:\windows ;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common; D:\Software\PuTTY\;C:\windows\system32\config\systemprofile\AppData\Local\Microsoft\WindowsApps;D:\Software\dotnet\;D:\Software\MySQL\MySQL Utilities 1.6\;C:\ Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;D:\Software\Git\cmd;C:\Users\Cyrilpippip.ini;C:\Anaconda;C:\ Anaconda\Library\mingw-w64\bin;C:\Anaconda\Library\usr\bin;C:\Anaconda\Scripts;C:\Anaconda\bin;C:\Anaconda\Library\bin;C:\Anaconda;C :\Anaconda\Library\mingw-w64\bin;C:\Anaconda\Library\usr\bin;C:\Anaconda\Scripts;C:\Anaconda\bin;D:\Software\D ocker Toolbox;C:\Users\Cyrilpippip.ini;
Библиотеки SSL находятся в папке C:\anaconda\Library\bin . Вы должны установить этот путь в момент попытки установки библиотек . Это связано с тем, что при активации виртуальной среды PATH изменяется.
Следовательно,
set PATH=C:\anaconda;C:\anaconda\Scripts;C:\anaconda\Library\bin
pip install any_library
or
pip install -r requirements.txt
set PATH=C:\venvs\ve1\;C:\venvs\ve1\Scripts;C:\anaconda\Library\bin
pip install any_library
or
pip install -r requirements.txt
Обратите внимание, что C:\anaconda\Library\bin согласован в обоих случаях, независимо от того, работаете ли вы в виртуальной машине или нет.
@datatravelgit Привет, я не использую виртуальные среды, и эта проблема все еще возникает после ручной установки пути.
Спасибо за полезные комментарии выше! Добавление следующего к переменной пути сработало для меня в Windows 10:
C:\Пользователи...\Анаконда3
C:\Пользователи...\Анаконда3\Скрипты
C:\Пользователи...\Анаконда3\Библиотека\бин
У меня та же проблема, что и у @liurui39660 , я также использую Intel Python Distribution _and_
python -m venv
для создания моего venv. Кажется, это проблема с модулемssl
, не имеющая ничего общего сpip
:(venv) C:\Users\ceefour\git\tews\ecn-svc>python Python 3.6.3 |Anaconda custom (64-bit)| (default, May 3 2018, 23:39:44) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. Intel(R) Distribution for Python is brought to you by Intel Corporation. Please check out: https://software.intel.com/en-us/python-distribution >>> import ssl Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\ProgramData\Anaconda3\lib\ssl.py", line 101, in <module> import _ssl # if we can't import it, let the error propagate ImportError: DLL load failed: The operating system cannot run %1. >>>
Обратите внимание, что ошибка возникает только при использовании Intel Python внутри venv. При использовании базовой среды это работает:
(base) C:\Users\ceefour>python Python 3.6.3 |Anaconda custom (64-bit)| (default, May 3 2018, 23:39:44) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. Intel(R) Distribution for Python is brought to you by Intel Corporation. Please check out: https://software.intel.com/en-us/python-distribution >>> import ssl >>>
Обновление: этот поток кажется подсказкой:
Рохит Дж. (Intel) Чт, 06.07.2017 - 21:40
pip нельзя было использовать ни с IDP, ни с Miniconda в Windows. Проблема была связана с конфликтующей библиотекой (libeay32.dll), которая была установлена по системному пути. Во время выполнения загрузка этой библиотеки имеет приоритет над тем, что мы поставляем с нашим дистрибутивом. Возник конфликт версий, и выполнение завершится ошибкой «ImportError: Ошибка загрузки DLL: операционная система не может запустить %1.». Удаление этой посторонней библиотеки из системного пути решило проблему.У меня есть _много_
libeay32.dll
внутриC:\Program Files
, в том числе один вC:\ProgramData\Anaconda3\Library\bin
Я попытался переместить
C:\ProgramData\Anaconda3\Library\bin
передPATH
, но все равно возникает ошибка.
------------- Источник: 20190327
刚 кв.кв 来 了 个 邮件, 点 进来 才 发现 是 这个 问题, 这个 后来 解决 了. 我 在 电脑 上 重新 安装 了 Win64OpenSSL_Light-1_1_1b.exe, 然后 анаконда 卸载 并 重装. 现在 анаконда 和 Python 都 正常 了.
-------------- 以下 为 旧 内容 谢谢 谢谢 昨 昨 昨 我 把 把 卸载 后 重装重装 了 把 把 刚才 刚才 刚才 刚才 刚才 刚才 刚才 刚才 刚才 刚才 刚才执行import ssl,anaconda中的报错,另外一个不报错。如图:
我把pycharm中的路径修改后,pycharm也可以正常运行了。
Мне пришлось заменить libssl-1_1-x64.dll в моей папке envs/myenv/Library/bin базовой dll env. Это был не тот же самый. Кроме того, у меня была еще одна libssl-1_1-x64.dll в C:/Windows/System32/ и в определенных папках Intel в C:/Program Files. Я удалил материал Intel из пути и удалил тот, что находится под system32.
Не уверен, когда была скопирована поврежденная dll, но замена ее на dll из conda/Library/bin/ сработала хорошо.
Для дальнейшей проверки ошибок вы можете активировать свою среду и ввести python -c "import ssl"
. Это важное отличие, если ошибка "Модуль не найден" (-> dll вообще не может быть найдена, может быть проблема с путем) или "Точка входа в процедуру не найдена" (-> скорее всего, найдена поврежденная/неправильная dll ).
Мне пришлось заменить libssl-1_1-x64.dll в моей папке envs/myenv/Library/bin базовой dll env. Это был не тот же самый. Кроме того, у меня была еще одна libssl-1_1-x64.dll в C:/Windows/System32/ и в определенных папках Intel в C:/Program Files. Я удалил материал Intel из пути и удалил тот, что находится под system32.
Не уверен, когда была скопирована поврежденная dll, но замена ее на dll из conda/Library/bin/ сработала хорошо.
Для дальнейшей проверки ошибок вы можете активировать свою среду и ввести
python -c "import ssl"
. Это важное отличие, если ошибка "Модуль не найден" (-> dll вообще не может быть найдена, может быть проблема с путем) или "Точка входа в процедуру не найдена" (-> скорее всего, найдена поврежденная/неправильная dll ).
У меня такая же проблема - "Указанная процедура не найдена". - только в конкретной среде.
В базе env «импорт ssl» работает хорошо.
Пробовал заменить env libssl-1_1-x64.dll на базовый env libssl-1_1-x64.dll, но не помогло.
Может ли быть какой-то другой файл, который вызывает это?
Исправлено для меня, спасибо всем за комментарии.
Проблема не была устранена путем добавления
Пробовал заменить env libssl-1_1-x64.dll на базовый env libssl-1_1-x64.dll, но не помогло.
Может ли быть какой-то другой файл, который вызывает это?
Удаление libssl-1_1-x64.dll и libcrypto-1_1-x64.dll в C:/Windows/System32/ решило проблему для меня.
Я люблю тебя, приятель!
Удаление libssl-1_1-x64.dll и libcrypto-1_1-x64.dll в C:/Windows/System32/ решило проблему для меня.
установите Win64OpenSSL_Light-1_1_1b.exe https://slproweb.com/download/Win64OpenSSL_Light-1_1_1b.exe , тогда pip работает хорошо.
попробуйте использовать:
pip3 install <package>
эту проблему можно решить, изменив путь через этот компьютер
перейти к свойствам
затем перейдите к дополнительным настройкам
затем переменные окружения
затем системные переменные
затем путь
путь двойным щелчком
проверьте путь установленного python
если у тебя анаконда
затем удалите оба пути и
затем нажмите новый
затем скопируйте путь к python 3.7 или последним скриптам python til, т.е.
(C:\Users\'имя пользователя'\AppData\Local\ProgramsPythonPython37\scripts)
затем нажмите ОК
далее также нажмите новый
затем скопируйте путь C:\Users\'имя пользователя'\AppData\Local\ProgramsPythonPython37
затем перезапустите cmd от имени администратора и повторите попытку установки.
Забавно: у меня была такая же проблема на Android, Termux. Pip не смог подключиться к pypi.org из-за отсутствия ssl.
Проблема явно с модулем ssl. Итак, сначала проверьте, установлен ли у вас какой-либо ssl. Если да, обновите его до последних версий, так как алгоритмы ssl быстро развиваются и становятся несовместимыми.
Попробуйте либо обновить существующую библиотеку, либо установить более поддерживаемый пакет.
Для пользователей Anaconda/Miniconda в Windows это проблема загрузки библиотеки. Информация содержится в разделе часто задаваемых вопросов по устранению неполадок по адресу https://conda.io/projects/conda/en/latest/user-guide/troubleshooting.html#condahttperror -http-000-connection-failed.
Как отмечают некоторые пользователи, другие установки openssl в папку Windows\System32 могут быть исключительно проблематичными. Информация об обходном пути в python Anaconda (и conda-forge) содержится в соответствующем разделе по устранению неполадок: https://conda.io/projects/conda/en/latest/user-guide/troubleshooting.html#numpy -mkl-library- загрузка не удалась
Вы можете сообщить о проблемах с анакондой по адресу https://github.com/continuumio/anaconda-issues.
У меня снова возникла проблема с SSL при установке модуля pip. До этого pip работал нормально в течение нескольких месяцев — после правильной настройки пути среды для включения 3 папок conda: %Conda_DIR%;%Conda_DIR%\Scripts;%Conda_DIR%\Library\bin
.
После пары часов споров я пришел к этим двум решениям — одно для установки модуля через pip , а другое — через conda .
По сути, на основе сообщений об ошибках мне пришлось добавить сайты pypi.org и files.pythonhosted.org в качестве доверенных хостов.
Вы можете сделать это один раз через: pip config set global.trusted_host "pypi.org files.pythonhosted.org"
Это изменение настроек сохраняется в файле C:\Users\user_name\Appdata\Roaming\pip\pip.ini
(сокращенно %APPDATA%\pip\pip.ini
). Поскольку это находится в пользовательской папке, не являющейся администратором с точки зрения Windows, это должно быть безопасно.
[Если вас не устраивает «глобальное» изменение настроек, вы можете повторять это при каждой установке модуля.
Например: pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org -U matplotlib
]
Некоторые модули Python, такие как базовая карта, не устанавливаются через pip. Вместо этого мне пришлось использовать conda.
Чтобы переопределить ошибку SSL с помощью conda, мне пришлось использовать: conda config --set ssl_verify false
[После установки модуля conda я снова включил ssl с помощью: conda config --set ssl_verify true
]
При решении этих проблем сегодня общая информация по адресу https://conda.io/projects/conda/en/latest/user-guide/troubleshooting.html#ssl -connection-errors и информация о конкретных сайтах из ошибки времени установки сообщения - оба оказались полезными.
(base) C:\Users\joshu>pip install pandahouse
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Но я могу установить все, что захочу, при использовании нативного python:
C:\Users\joshu\AppData\Local\Programs\Python\Python37\Scripts>pip install scrapy
Collecting scrapy
Downloading http....
Что я сделал до сих пор:
C:\Users\joshu\Anaconda3\Library\bin
Места подсказок CMD в родном Python:
C:\Users\joshu\AppData\Local\Programs\Python\Python37\Scripts>where libssl-1_1-x64.dll
C:\Users\joshu\Anaconda3\Library\bin\libssl-1_1-x64.dll
C:\Users\joshu\AppData\Local\Programs\Python\Python37\Scripts>where libcrypto-1_1-x64.dll
C:\Users\joshu\Anaconda3\Library\bin\libcrypto-1_1-x64.dll
Места подсказки Анаконды:
(base) C:\Users\joshu>where libssl-1_1-x64.dll
C:\Users\joshu\Anaconda3\Library\bin\libssl-1_1-x64.dll
(base) C:\Users\joshu>where libcrypto-1_1-x64.dll
C:\Users\joshu\Anaconda3\Library\bin\libcrypto-1_1-x64.dll
Не уверен, имеет ли это значение, но OPENSSL_CONF C:\OpenSSL-Win64\bin\openssl.cfg появляется над PATH в моих системных переменных.
Может кто-нибудь помочь, я не уверен, как это решить, и действительно предпочел бы использовать Anaconda/Spyder вместо родного python.
@jmhcodes , проверьте эту ссылку: https://stackoverflow.com/questions/41328451/ssl-module-in-python-is-not-available-when-installing-package-with-pip3
Также в stackoverflow я столкнулся с другим обсуждением, которое было более актуально для внезапного повторения ошибки проверки сертификата SSL, с которой я столкнулся на своем рабочем ПК. Ссылка на обсуждение: https://stackoverflow.com/questions/25981703/pip-install-fails-with-connection-error-ssl-certificate-verify-failed-certi .
В паре этих ответов были следующие утверждения:
В моем случае проблема заключалась в сертификатах в сети моей компании.
и
Недавно я столкнулся с этой проблемой из-за фильтра веб-контента моей компании, который использует собственный центр сертификации, чтобы фильтровать SSL-трафик.
Так что в моем случае именно корпоративный сетевой брандмауэр сломал мой пип. Но добавление files.pythonhosted.org
и ** pypi.org
в качестве доверенных хостов решило проблему на данный момент.
Честно говоря, я не видел 2-го обсуждения stackoverflow, когда решил проблему на прошлой неделе, и разместил здесь свои шаги решения. Большинство ответов в статье stackoverflow согласны с тем, что использование --trusted-host
также решило их проблемы с пунктами. В дополнение к двум сайтам, упомянутым выше, они также рекомендуют добавить pypi.python.org
@шрипрем
@jmhcodes , проверьте эту ссылку: https://stackoverflow.com/questions/41328451/ssl-module-in-python-is-not-available-when-installing-package-with-pip3
Также в stackoverflow я столкнулся с другим обсуждением, которое было более актуально для внезапного повторения ошибки проверки сертификата SSL, с которой я столкнулся на своем рабочем ПК. Ссылка на обсуждение: https://stackoverflow.com/questions/25981703/pip-install-fails-with-connection-error-ssl-certificate-verify-failed-certi .
Я также видел эти два сообщения, и я мог бы добавить его в качестве глобального доверенного хоста и уйти, но я не чувствую себя достаточно комфортно, чтобы сделать это.
На что я действительно пытаюсь ответить, так это на то, почему pip работает без проблем с SSL/TSL в собственном пакете python в строке cmd, НО не работает в приглашении anaconda, хотя openssl/libssl-1_1-x64.dll/libcrypto-1_1-x64 .dll указывают на одно и то же место.
@jmhcodes запустите команду where pip.exe
как в обычной командной строке, так и в приглашении Anaconda. Оба они возвращают один и тот же путь к pip.exe?
Вот некоторые из отличий, которые приглашение Anaconda привносит в свою среду по сравнению с обычной командной строкой:
echo %path%
из обеих сред и сравнив их. Эти 7 подкаталогов:%CONDA_DIR%;
%CONDA_DIR%\Library\mingw-w64\bin;
%CONDA_DIR%\Library\usr\bin;
%CONDA_DIR%\Library\bin;
%CONDA_DIR%\Scripts;
%CONDA_DIR%\bin;
%CONDA_DIR%\condabin;
_ Примечание . %CONDA_DIR% следует заменить на путь установки Anaconda._
CONDA_DEFAULT_ENV, CONDA_EXE, CONDA_PREFIX, CONDA_PROMPT_MODIFIER, CONDA_PYTHON_EXE, CONDA_SHLVL, PYTHONIOENCODING, PROJ_LIB, _CONDA_SET_PROJ_LIB
set
из обеих сред и сравнив их.Эти различия между двумя средами могут вызывать любые проблемы, которые у вас возникают. Вам решать копать дальше.
Но если pip.exe указывает на один и тот же двоичный файл из обеих сред, вам не следует сильно беспокоиться о том, какую среду вы используете для запуска pip. Кроме того, я бы не слишком беспокоился о добавлении очень известных сайтов пипсов python.org в качестве доверенных хостов. Так было со многими в stackoverflow. Это мои два цента.
Наконец, вы упомянули:
Не уверен, имеет ли это значение, но OPENSSL_CONF C:\OpenSSL-Win64\bin\openssl.cfg появляется над PATH в моих системных переменных.
Это связано с тем, что системная переменная OPENSSL_CONF стоит перед PATH в алфавитном порядке. Так что это не должно иметь значения для вашей проблемы. Или я неправильно истолковал ваши слова?
Анаконда Промт
pip 19.1.1 from C:\ProgramData\Anaconda3\lib\site-packages\pip (python 3.7)
Командная строка
C:\Users\joshu\AppData\Local\Programs\Python\Python37\Scripts\pip.exe
Но я даже не могу открыть навигацию spyder/anaconda или что-либо еще, связанное с пакетом anaconda, кроме подсказки anaconda:
(base) C:\Users\joshu>spyder.exe
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\external\github.py", line 51, in <module>
from urllib2 import build_opener, HTTPSHandler, Request, HTTPError
ModuleNotFoundError: No module named 'urllib2'
Во время обработки вышеупомянутого исключения произошло другое исключение:
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\app\mainwindow.py", line 3285, in main
mainwindow = run_spyder(app, options, args)
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\app\mainwindow.py", line 3140, in run_spyder
main.setup()
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\app\mainwindow.py", line 809, in setup
from spyder.plugins.console import Console
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\plugins\console.py", line 37, in <module>
from spyder.widgets.reporterror import SpyderErrorDialog
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\widgets\reporterror.py", line 26, in <module>
from spyder.widgets.github.backend import GithubBackend
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\widgets\github\backend.py", line 33, in <module>
from spyder.utils.external import github
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\external\github.py", line 58, in <module>
from urllib.request import build_opener, HTTPSHandler, HTTPError, Request
ImportError: cannot import name 'HTTPSHandler' from 'urllib.request' (C:\ProgramData\Anaconda3\lib\urllib\request.py)
Я работаю с Visual Studio Code, и у меня была та же проблема, потому что не было активной виртуальной среды conda. Я выполнил это
Самый полезный комментарий
Я была такая же проблема. Я настраивал новый компьютер с python и jupyter с anaconda, и проблема возникла, когда я попытался установить пакет с использованием pip.
Основываясь на приведенных выше обсуждениях, что это проблема среды, я попытался запустить команду «pip install» в Anaconda Prompt вместо cmd . И команда pip была выполнена. 😁