Я получаю сообщение об ошибке сертификата для pypi.python.org
при запуске pip install -U channels
. Я не знаю, связана ли проблема с pip
или с Python 3.6.0
или с чем-то еще. Я пробовал следующие предложения, но ни один из них не работал.
pip --trusted-host pypi.python.org install -U channels
export PIP_CERT=/Users/user/Desktop/certificate_which_i_obtained_from_pypi_dot_python_dot_org.crt
pip install -U channels
Следующий cacert.pem
— это сертификат curl
.
pip --cert /Users/user/cacert.pem install -U channels
Я также подозреваю, что проблема может быть связана с Python 3.6.0. Потому что рассмотрим следующий вывод:
user<strong i="25">@host</strong>:~$ python
Python 3.6.0 (v3.6.0:41df79263a11, Dec 22 2016, 17:23:13)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>> context = ssl.create_default_context()
>>> context.cert_store_stats()
{'x509': 0, 'crl': 0, 'x509_ca': 0}
>>> context.get_ca_certs()
[]
>>>
(virtualenv) user<strong i="29">@host</strong>:~/Documents/virtualenv$ pip install -U channels
Collecting channels
Using cached channels-0.17.3-py2.py3-none-any.whl
Collecting asgiref>=0.13 (from channels)
Using cached asgiref-1.0.0-py2.py3-none-any.whl
Collecting daphne>=0.14.1 (from channels)
Using cached daphne-0.15.0-py2.py3-none-any.whl
Requirement already up-to-date: Django>=1.8 in ./lib/python3.6/site-packages (from channels)
Collecting six (from asgiref>=0.13->channels)
Using cached six-1.10.0-py2.py3-none-any.whl
Collecting twisted>=16.0 (from daphne>=0.14.1->channels)
Using cached Twisted-16.6.0.tar.bz2
Complete output from command python setup.py egg_info:
Download error on https://pypi.python.org/simple/incremental/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) -- Some packages may not be found!
Couldn't find index page for 'incremental' (maybe misspelled?)
Download error on https://pypi.python.org/simple/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) -- Some packages may not be found!
No local packages or working download links found for incremental>=16.10.1
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/private/var/folders/45/r4yr9bbj29dfbtxqv75_785m0000gn/T/pip-build-02d49zb3/twisted/setup.py", line 21, in <module>
setuptools.setup(**_setup["getSetupArgs"]())
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/core.py", line 108, in setup
_setup_distribution = dist = klass(attrs)
File "/Users/user/Documents/virtualenv/lib/python3.6/site-packages/setuptools/dist.py", line 316, in __init__
self.fetch_build_eggs(attrs['setup_requires'])
File "/Users/user/Documents/virtualenv/lib/python3.6/site-packages/setuptools/dist.py", line 371, in fetch_build_eggs
replace_conflicting=True,
File "/Users/user/Documents/virtualenv/lib/python3.6/site-packages/pkg_resources/__init__.py", line 846, in resolve
dist = best[req.key] = env.best_match(req, ws, installer)
File "/Users/user/Documents/virtualenv/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1118, in best_match
return self.obtain(req, installer)
File "/Users/user/Documents/virtualenv/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1130, in obtain
return installer(requirement)
File "/Users/user/Documents/virtualenv/lib/python3.6/site-packages/setuptools/dist.py", line 439, in fetch_build_egg
return cmd.easy_install(req)
File "/Users/user/Documents/virtualenv/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 668, in easy_install
raise DistutilsError(msg)
distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('incremental>=16.10.1')
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/45/r4yr9bbj29dfbtxqv75_785m0000gn/T/pip-build-02d49zb3/twisted/
(virtualenv) user<strong i="30">@host</strong>:~/Documents/virtualenv$
У меня тоже была эта проблема.
Проблема, похоже, связана с тем, что модуль ssl не включен при сборке Python 3.6.0.
Я обошел это, раскомментировав строки 209-212 в Python-3.6.0/Modules/Setup.
SSL=/usr/local/ssl
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto
и убедитесь, что libssl-dev
установлен (во всяком случае, это пакет для Debian).
Как только это будет сделано, снова выполните ./configure
, make
и make install
, и это должно сработать.
У меня точно такая же проблема на Python 3.5, последняя версия OSX:
$ pip install pip --upgrade
Could not fetch URL https://pypi.python.org/simple/pip/: There was a problem confirming the ssl certificate: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:720) - skipping
Я исправил это, используя параметр доверенного хоста:
$ pip install --trusted-host pypi.python.org pip --upgrade
Requirement already up-to-date: pip in ./venv/lib/python3.5/site-packages
Я бы не назвал --trusted-host
исправлением. В лучшем случае это опасный обходной путь. Вы отключаете проверку TLS и открываете свой компьютер для атак посредника. Опция должна была называться --bypass-insecure-host
или похожей.
Проблема здесь в том, что setuptools пытается общаться с PyPI, а не с pip, и что 3.6.0 в macOS по умолчанию не имеет доступа к CA Bundle, а setuptools не связывает его, как это делает pip. Вам нужно будет установить что-то вроде certifi или задать вопрос с помощью setuptools.
инкрементная установка pip
Ты герой @CallenChen
Все равно не работает, помогите...
C:\Windows\system32>инкрементная установка pip
Сбор инкрементных
Не удалось получить URL-адрес https://pypi.python.org/simple/incremental/ : возникла проблема с подтверждением сертификата ssl: [SSL: CERTIFICATE_VERIFY_FAILED] проверка сертификата не удалась (_ssl.c:748) — пропуск
Не удалось найти версию, удовлетворяющую добавочному требованию (из версий: )
Не найдено подходящего распределения для добавочного
на OSX, используя macport, установка curl-ca-bundle решает эту проблему:
порт sudo установить curl-ca-bundle
заваривать обновление
варить удалить openssl
варить установить openssl
echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
как насчет того, чтобы просто установить certifi, как указано здесь (эта ссылка появляется вскоре после установки Python 3.6)?
pip install certifi
@gitanupam Установка certifi у меня сработала.
ни одно из решений не сработало для меня. я на ОСХ
Попробуйте установить новую версию pip напрямую с помощью get-pip.py (см. https://pip.pypa.io/en/stable/installing/)
$ curl 'https://bootstrap.pypa.io/get-pip.py' > get-pip.py
$ sudo python get-pip.py
(отформатировано @pradyunsg)
@ sdk21 это работает для меня. Спасибо
Не уверен, почему, возможно, из-за того, что Pypi больше не принимает http-соединения... Но смена зеркала работает для меня:
$ cat ~/.config/pip/pip.conf
[global]
proxy = http://my-proxy:8080
index-url = http://mirrors.aliyun.com/pypi/simple/
trusted-host = mirrors.aliyun.com
PyPI принимает HTTP-соединения, но недавно прекратил поддержку TLS v1.0 и v1.1. См. https://stackoverflow.com/a/49769015/1526703.
Спасибо за разъяснение, @gitanupam
Спасибо @sdk21! Меня устраивает!
@ sdk21 Это работает для меня. Спасибо!
@ sdk21 Это работает для меня. Спасибо!
Спасибо @sdk21 решить это ...
на Mac я сделал это и, наконец, сработал:
https://pip.readthedocs.io/en/stable/installing/
@sdk21 спасибо, у меня работает 👍
Самый полезный комментарий
Попробуйте установить новую версию pip напрямую с помощью get-pip.py (см. https://pip.pypa.io/en/stable/installing/)
(отформатировано @pradyunsg)