pip не может ничего установить

> pip install yolk
Downloading/unpacking yolk
  Cannot fetch index base URL https://pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement yolk
No distributions at all found for yolk
Storing complete log in /Users/harith/.pip/pip.log

когда я читаю файл, я вижу

> cat /Users/harith/.pip/pip.log
------------------------------------------------------------
/Users/harith/.shared/virtualenvs/pennytracker/bin/pip run on Mon Jul  1 20:26:02 2013
Downloading/unpacking yolk

  Getting page https://pypi.python.org/simple/yolk/
  Could not fetch URL https://pypi.python.org/simple/yolk/: HTTP Error 503: Service Unavailable
  Will skip URL https://pypi.python.org/simple/yolk/ when looking for download links for yolk
  Getting page https://pypi.python.org/simple/
  Could not fetch URL https://pypi.python.org/simple/: HTTP Error 503: Service Unavailable
  Will skip URL https://pypi.python.org/simple/ when looking for download links for yolk
  Cannot fetch index base URL https://pypi.python.org/simple/

  URLs to search for versions for yolk:
  * https://pypi.python.org/simple/yolk/
  Getting page https://pypi.python.org/simple/yolk/
  Could not fetch URL https://pypi.python.org/simple/yolk/: HTTP Error 503: Service Unavailable
  Will skip URL https://pypi.python.org/simple/yolk/ when looking for download links for yolk
  Could not find any downloads that satisfy the requirement yolk

No distributions at all found for yolk

    Exception information:
    Traceback (most recent call last):
      File "/Users/harith/.shared/virtualenvs/pennytracker/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/basecommand.py", line 139, in main
        status = self.run(options, args)
      File "/Users/harith/.shared/virtualenvs/pennytracker/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/commands/install.py", line 266, in run
        requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
      File "/Users/harith/.shared/virtualenvs/pennytracker/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/req.py", line 1026, in prepare_files
        url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
      File "/Users/harith/.shared/virtualenvs/pennytracker/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/index.py", line 171, in find_requirement
        raise DistributionNotFound('No distributions at all found for %s' % req)
    DistributionNotFound: No distributions at all found for yolk

Я делаю что-то не так?


person daydreamer    schedule 02.07.2013    source источник
comment
Это похоже на проблему с конфигурацией сети/конфигурацией среды, я только что запустил pip install yolk, и все работает нормально... Вы уверены, что компьютер подключен к Интернету... Что происходит, когда вы пингуете Google?   -  person John    schedule 02.07.2013
comment
Может быть, это проясняет.... github.com/mvantellingen/localshop/issues/34 и github.com/mvantellingen/localshop/pull/35   -  person Zangetsu    schedule 02.07.2013


Ответы (16)


Это полный текст сообщения в блоге, ссылка на которое приведена ниже:

Если вы недавно пытались установить пакет с помощью pip, возможно, вы столкнулись с этой ошибкой:

Could not fetch URL https://pypi.python.org/simple/Django/: There was a problem confirming the ssl certificate: <urlopen error [Errno 1] _ssl.c:504: error:0D0890A1:asn1 encoding routines:ASN1_verify:unknown message digest algorithm>
  Will skip URL https://pypi.python.org/simple/Django/ when looking for download links for Django==1.5.1 (from -r requirements.txt (line 1))
  Could not fetch URL https://pypi.python.org/simple/: There was a problem confirming the ssl certificate: <urlopen error [Errno 1] _ssl.c:504: error:0D0890A1:asn1 encoding routines:ASN1_verify:unknown message digest algorithm>
  Will skip URL https://pypi.python.org/simple/ when looking for download links for Django==1.5.1 (from -r requirements.txt (line 1))
  Cannot fetch index base URL https://pypi.python.org/simple/
  Could not fetch URL https://pypi.python.org/simple/Django/1.5.1: There was a problem confirming the ssl certificate: <urlopen error [Errno 1] _ssl.c:504: error:0D0890A1:asn1 encoding routines:ASN1_verify:unknown message digest algorithm>
  Will skip URL https://pypi.python.org/simple/Django/1.5.1 when looking for download links for Django==1.5.1 (from -r requirements.txt (line 1))
  Could not fetch URL https://pypi.python.org/simple/Django/: There was a problem confirming the ssl certificate: <urlopen error [Errno 1] _ssl.c:504: error:0D0890A1:asn1 encoding routines:ASN1_verify:unknown message digest algorithm>
  Will skip URL https://pypi.python.org/simple/Django/ when looking for download links for Django==1.5.1 (from -r requirements.txt (line 1))
  Could not find any downloads that satisfy the requirement Django==1.5.1 (from -r requirements.txt (line 1))
No distributions at all found for Django==1.5.1 (from -r requirements.txt (line 1))
Storing complete log in /Users/paul/.pip/pip.log

Похоже, это проблема старой версии OpenSSL, несовместимой с pip 1.3.1. Если вы используете нестандартный дистрибутив Python (особенно EPD 7.3), скорее всего, у вас будет установка, которая не будет работать с pip 1.3.1 без кучи работы.

Простой обходной путь на данный момент — установить pip 1.2.1, который не требует SSL:

curl -O https://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz
tar xvfz pip-1.2.1.tar.gz
cd pip-1.2.1
python setup.py install

Если вы используете EPD и не используете его для класса, где что-то может сломаться, вы можете рассмотреть возможность установки нового воплощения: Enthought Canopy. Я знаю, что они знали о проблемах, вызванных предыдущей версией OpenSSL, и предполагали, что теперь они используют новую версию, которая должна хорошо работать с pip 1.3.1.

person paulwithap    schedule 03.04.2014

Раньше я использовал обходной путь easy_install pip==1.2.1, но случайно нашел что если у вас возникла эта ошибка, вы, вероятно, установили 32-битную версию Python на 64-битную машину.

Вкратце: если вы установите его 64-битную версию, установив ее из исходного кода, а затем создадите на ней свой virtualenv, у вас больше не будет этой ошибки pip.

person lapin    schedule 07.09.2014
comment
Это реальная проблема/решение и должно быть помечено как правильный ответ! - person mamiu; 11.09.2014
comment
Можно проверить на Mac OSX. Случайная установка 32-разрядного установщика i386/PPC для Mac OS X (python-x.x.x-macosx10.5.dmg) вместо правильного установщика 64-разрядной/32-разрядной версии Mac OS X (python-x.x.x-macosx10.6.dmg) ) приводит к аналогичным ошибкам. Простая переустановка правильной 64-битной версии исправляет это. - person Darian Moody; 11.09.2014

Это потому, что в конфигурации pip параметр index-url должен указывать на новый URL-адрес pypi. Измените файл в ~/.pip/pip.conf или, если вы используете pip от имени пользователя root, в: /root/.pip/pip.conf.

Вероятно, у вас есть это:

 [global]
 index-url=http://f.pypi.python.org/simple

Вы должны изменить его для этого:

  [global]
  index-url=https://pypi.python.org/pypi/

И тогда все должно работать как прежде. Я надеюсь, что это поможет вам.

person xinoman12    schedule 20.01.2014
comment
Знаете ли вы место, где вы бы изменили эту переменную, чтобы заставить pip работать? спасибо - person Aaron Lelevier; 16.03.2014
comment
@AronYsidoro в ‹home›/.pip/pip.conf Или, если вы используете pip от имени root, в: /root/.pip/pip.conf Вы можете найти зеркало без ssl здесь pypi-mirrors.org хотя это не самое безопасное решение:/ - person hecvd; 07.05.2014
comment
Я установил в Windows и не могу ничего установить с помощью pip... Как я могу изменить глобальное значение? Где я могу найти файл? - person Arindam Roychowdhury; 20.01.2016
comment
Я нашел ответ на свой вопрос: он находится в файле cmdoptions.py в C:\Python27\Lib\site-packages\pip и C:\Python27\Lib\site-packages\pip_vendor\distlib\locators.py - person Arindam Roychowdhury; 20.01.2016

Я столкнулся с той же проблемой, и эта ошибка связана с «Настройкой прокси». Приведенный ниже синтаксис помог мне успешно решить эту проблему:

sudo pip --proxy=http://username:password@proxyURL:portNumber install yolk
person Viv    schedule 04.05.2016

У меня была похожая проблема с pip и easy_install:

Cannot fetch index base URL https://pypi.python.org/simple/

Как указано в упомянутом сообщении в блоге, должна быть проблема с некоторыми более старыми версиями OpenSSL, являющимися несовместимо с pip 1.3.1.

Установка pip-1.2.1 является рабочим решением.

Возможно, связанный с этим вопрос.

[Изменить]:

Это определенно происходит в дистрибутивах RHEL/CentOS 4.

person Marios V    schedule 24.01.2014
comment
Обратите внимание, что ответы только по ссылкам не рекомендуются, ответы SO должны быть конечной точкой поиска. для решения (по сравнению с еще одной остановкой ссылок, которые со временем устаревают). Пожалуйста, рассмотрите возможность добавления здесь отдельного синопсиса, оставив ссылку в качестве ссылки. - person kleopatra; 24.01.2014
comment
Я владелец указанного сайта, и блог больше не работает, но я ответил на этот вопрос текстом из этого поста. - person paulwithap; 03.04.2014

Объяснение есть в ваших логах:

Could not fetch URL https://pypi.python.org/simple/yolk/: HTTP Error 503: Service Unavailable

Обратите внимание на HTTP Error 503: Service Unavailable. Кажется, сайт был недоступен, когда вы пытались это сделать.

Полезно знать, что ошибки HTTP 5xx являются ошибками на стороне сервера, поэтому вы можете знать, что проблема была не в вашей локальной сети, а в удаленной сети.

Это означает, что попробуйте позже ;-) (и скрестите пальцы...) (Кстати, теперь это работает для меня.)

person janos    schedule 04.07.2013
comment
Неправда, потому что для меня, если я отключу сетевую карту и переключусь на беспроводную сеть, которая использует сеть с меньшим количеством брандмауэров, это сработает; это происходит в 100% случаев. - person Oliver; 22.08.2014
comment
Я проверю, как только вернусь на работу во вторник. - person Oliver; 29.08.2014

У меня была такая же проблема с pip 1.5.6.

Я просто удалил папку ~/.pip, и это сработало как шарм.

rm -r ~/.pip/
person GusC    schedule 04.02.2015

Это случилось с моим из-за прокси-аутентификации, поэтому я сделал это, чтобы решить эту проблему.

export http_proxy=http://uname:[email protected]:8080
export https_proxy=http://uname:[email protected]:8080
export ftp_proxy=http://uname:[email protected]:8080
person A.Zaben    schedule 23.06.2015

В Virtualenv попробуйте отредактировать файл pip, например:

vi <your_virtualenv_folder>/bin/pip

посмотрите на первую строку и проверьте, соответствует ли она папке проекта, если нет, то просто измените ее.

#!/<your_path>/<project_folder>/<your_virtualenv_folder>/bin/python
person Slipstream    schedule 07.04.2016

pip имеет поддержку зеркала

pip --use-mirrors install yolk

Начиная с версии 1.5 эта опция будет удалена:

1.5 (не выпущено)

ОБРАТНАЯ НЕСОВМЕСТИМОСТЬ pip больше не поддерживает флаги --use-mirrors, -M и --mirrors. Поддержка зеркалирования удалена. Чтобы использовать зеркало, укажите его как первичный индекс с параметром -i или --index-url или как дополнительный индекс с параметром --extra-index-url. (Вызов № 1098, CVE-2013-5123)

ОБРАТНАЯ НЕСОВМЕСТИМОСТЬ pip больше не будет очищать небезопасные внешние URL-адреса по умолчанию и не будет по умолчанию устанавливать файлы, размещенные на внешнем сервере. Пользователи могут выбрать установку внешних или небезопасных файлов или URL-адресов, используя --allow-external PROJECT и --allow-insecure PROJECT. (Потяните № 1055)

Добавлены цвета в вывод журнала, чтобы привлечь внимание к важным предупреждениям и ошибкам. (Потяните № 1109)

Добавлены предупреждения при использовании небезопасного индекса, ссылки поиска или ссылки зависимости. (Потяните № 1121)

person Burhan Khalid    schedule 04.07.2013
comment
Хм, а откуда у тебя этот флаг? Я почти уверен, что это недействительно. - person mustafa.0x; 29.08.2013
comment
Из документации. - person Burhan Khalid; 29.08.2013
comment
--user-mirrors не упоминается — может документ изменился? - person mustafa.0x; 29.08.2013
comment
Да, это имеет. Он был удален в версии 1.5. Альтернатива указана на этой странице. . Примечание: это неизданная версия. В последней стабильной версии эта опция включена. - person Burhan Khalid; 29.08.2013

Ваши системные часы, вероятно, установлены в прошлом. Проверьте время с помощью команды date и установите его правильно.

person Chetan    schedule 07.01.2015

В моем случае порт https (443) не был открыт, поэтому мой брандмауэр заблокировал весь трафик, и pip не мог загрузить пакеты.

person Armo    schedule 17.01.2017

У меня тоже была такая проблема после того, как я попытался сбросить настройки сети. это решает проблему.

person ZijiG    schedule 05.05.2017

У меня появилось это сообщение об ошибке, поскольку я установил переменную среды Windows в недопустимый файл сертификата.

Проверьте, есть ли у вас переменная CURL_CA_BUNDLE, введя SET в командной строке.

Вы можете переопределить его для текущего сеанса с помощью SET CURL_CA_BUNDLE=

pip.log содержал следующее:

Getting page https://pypi.python.org/simple/pip/
Could not fetch URL https://pypi.python.org/simple/pip/: connection error: [Errno 185090050] _ssl.c:340: error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib
person geographika    schedule 11.02.2015

Для меня это сработало простое sudo pip -I install <package>.

Как указывает man pip, -I игнорирует установленные пакеты, вместо этого принудительно переустанавливая их.

person Patrizio Bertoni    schedule 09.11.2015

Эта проблема, скорее всего, вызвана настройкой DNS: сервер не может разрешить доменное имя, поэтому не может загрузить пакет.

Решение:

     sudo nano /etc/network/interface

добавьте строку: dns-nameservers 8.8.8.8

сохранить файл и выйти

     sudo ifdown eth0 && sudo ifup eth0

Теперь pip install должен работать.

person jspy    schedule 07.12.2014
comment
пожалуйста, прочитайте вопрос и соответствующие журналы, прежде чем публиковать дезинформацию. Ошибка OP связана с https/tls, а не с dns. - person Dwight Spencer; 21.09.2015