Virtualenv: Не удается установить какой-либо пакет через `pip` в Windows 10, модуль ssl в Python недоступен

Созданный на 28 февр. 2018  ·  54Комментарии  ·  Источник: pypa/virtualenv

версия 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, например отсюда , но ни один из них не сработал.

Самый полезный комментарий

Я была такая же проблема. Я настраивал новый компьютер с python и jupyter с anaconda, и проблема возникла, когда я попытался установить пакет с использованием pip.

Основываясь на приведенных выше обсуждениях, что это проблема среды, я попытался запустить команду «pip install» в Anaconda Prompt вместо cmd . И команда pip была выполнена. 😁

Все 54 Комментарий

Я предполагаю, что используемый 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 команды, выделенные жирным шрифтом ниже.

  1. Команда: > где питон
    Вывод должен быть примерно таким: _C:\Miniconda3-x64\python.exe_

  2. Команда: > где точка
    Вывод должен выглядеть примерно так: _C:\Miniconda3-x64\Scriptspip.exe_

  3. Команда: > где openssl
    Вывод должен быть примерно таким:
    [Обратите внимание, что openssl.exe может быть установлен в нескольких местах пути среды. В моем случае openssl также был установлен как часть установки Perl]
    _C:\Perl\c\bin\openssl.exe
    C:\Miniconda3-x64\Library\bin\openssl.exe_

  4. Команда: > где 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 изменяется.

Следовательно,

  • Если вы не используете виртуальные среды, вручную установите для PATH значение:
set PATH=C:\anaconda;C:\anaconda\Scripts;C:\anaconda\Library\bin
pip  install any_library
or
pip install -r requirements.txt

  • Если вы используете виртуальные среды, вручную установите PATH:
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中的报错,另外一个不报错。如图:
GitHub Logo
我把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, но не помогло.
Может ли быть какой-то другой файл, который вызывает это?

Исправлено для меня, спасибо всем за комментарии.
Проблема не была устранена путем добавления\Anaconda3\Library\bin на путь или даже на начало пути. То же самое верно для \Anaconda3\Scripts и \Anaconda3\Library\mingw-w64\bin.

Пробовал заменить 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 .

Модуль устанавливается через pip

По сути, на основе сообщений об ошибках мне пришлось добавить сайты 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 ]

Модуль устанавливается через conda

Некоторые модули 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 и информация о конкретных сайтах из ошибки времени установки сообщения - оба оказались полезными.

Привет, когда в приглашении anaconda я не могу использовать pip из-за проблем с TSL/SSL:

(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....

Что я сделал до сих пор:

  1. Сначала установил Python
  2. Установлена ​​анаконда
  3. Переустановил анаконду
  4. Удалены libcrypto-1_1-x64.dll и libssl-1_1-x64.dll из System32/
  5. Добавил мои библиотеки Anaconda в верхние системные и пользовательские переменные PATH
    C:\Users\joshu\Anaconda3\Library\bin
  6. Все еще не работает

Места подсказок 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 привносит в свою среду по сравнению с обычной командной строкой:

  1. Anaconda ставит префикс 7 своих подкаталогов в самом начале пути к обычной среде. Вы можете проверить это, запустив команду 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._

  1. 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. Я выполнил это

imagen

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

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

mnm678 picture mnm678  ·  7Комментарии

npinto picture npinto  ·  4Комментарии

asottile picture asottile  ·  6Комментарии

jwarren116 picture jwarren116  ·  5Комментарии

abn picture abn  ·  4Комментарии