Ошибка подключения pip: невозможно получить базовый URL индекса http://pypi.python.org/simple/

89

Я бегу sudo pip install git-reviewи получаю следующие сообщения:

Downloading/unpacking git-review
  Cannot fetch index base URL http://pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement git-review
No distributions at all found for git-review
Storing complete log in /home/sai/.pip/pip.log

Кто-нибудь знает об этом?

Сай Вай Маунг
источник
4
Должно быть прокси-соединение
Оссама
1
"ни один из них, кажется, не решает мою проблему" Какие это? Чтобы не повторяться.
RandomSeed

Ответы:

143

Я знаю, что это старый поток, но сегодня я столкнулся с этой проблемой и хотел поделиться своим решением проблемы, потому что я не видел этого решения в другом месте на SO.

Моя среда: Python 2.7.12 / 2.7.14 на Ubuntu 12.04.5 LTS в virtualenv, версия 1.1.

Мои ошибки:

pip install nose

в консоли:

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

в ~ / .pip / pip.log:

Could not fetch URL http://pypi.python.org/simple/: HTTP Error 403: SSL is required

Мне любопытно, потому что я без проблем запускал эти же команды в скрипте около года.

это исправило это:

pip install --index-url=https://pypi.python.org/simple/ nose

(обратите внимание на https)

Надеюсь, это кому-то поможет!

Mattdedek
источник
Большое спасибо! У меня также была эта проблема с Ubuntu 12.04, на котором уже была pip 1.0 from /usr/lib/python2.7/dist-packages (python 2.7)установлена ​​система, которая была практически непригодной для использования.
Джош Купершмидт
Вы, сэр, заслужили медаль. У меня была эта проблема на моем черном усе. Теперь это исправлено.
Адитья
Здесь много ответов. Ни один из них не подходил / работал для меня, кроме этого. Спасибо!
arielf
pip install --index-url=http://mypypi.net/simple/Выдает ошибкуERROR: You must give at least one requirement to install (see "pip help install")
постыдятся
@Confounded - Спасибо, что указали на это, просто укажите пакеты, которые вы хотите установить, после параметра --index-url. См. Пример обновления.
mattdedek
59

Вам необходимо обновить установку pip .

Опция --index-url(короткая версия -i:) позволяет вам указать URL-адрес индекса в вызове самого pip, там вы можете использовать https-вариант. Затем вы можете указать pip на обновление.

sudo pip install --index-url https://pypi.python.org/simple/ --upgrade pip

После этого вы сможете использовать pip без --index-urlопции.


Я считаю, что выпуск 7.0.0 (2015-05-21) вызвал эту проблему. В примечании к выпуску для этой версии говорится следующее:

BACKWARD INCOMPATIBLE Больше не поддерживает неявно небезопасный источник происхождения, а вместо этого требует явного доверия к незащищенным источникам с помощью этой --trusted-hostопции.

Вы можете проверить версию своего пункта с помощью pip --version.

Это означало бы, что sudo pip install --trusted-host --upgrade pipоднократная выдача также решит эту проблему, хотя и загрузит pip по небезопасному http. Это также может вообще не работать, потому что возможно, что незащищенная конечная точка больше не доступна на сервере (я не тестировал это).

Дэниел Ф
источник
42

РЕДАКТИРОВАТЬ:

В текущей версии PIPбольше нет этой проблемы. На данный момент версия: 7.1.2это текущая версия. Вот PIPссылка:

https://pypi.python.org/pypi/pip

ОРИГИНАЛЬНОЕ ИСПРАВЛЕНИЕ:

У меня возникла эта проблема при попытке использовать pip==1.5.4

Это проблема, связанная с PIP и PYPI Python, доверяющими сертификатам SSL. Если вы посмотрите журнал PIP в Mac OS X по адресу: /Users/username/.pip/pip.log, он предоставит вам более подробную информацию.

Моим обходным путем для восстановления и запуска PIP после нескольких часов пробования разных вещей было войти в мои пакеты сайтов на Python, независимо от того, находится ли он в virtualenv или в ваших обычных пакетах сайта , и избавиться от текущей версии PIP. Для меня у меня былоpip==1.5.4

Я удалил каталог PIP и файл яйца PIP. Затем я побежал

easy_install pip==1.2.1  

Эта версия PIP не имеет проблемы с SSL, и затем я смог запустить свой обычный pip install -r requirements.txtрежим в моем virtualenv, чтобы настроить все пакеты, которые я хотел, которые были перечислены в моем requirements.txtфайле.

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

https://groups.google.com/forum/#!topic/beagleboard/aSlPCNYcVjw

Аарон Лелевье
источник
Исправлена ​​проблема и для меня.
HorseloverFat
6
К вашему сведению, если вы читаете это прямо сейчас (как я), то вам следует обновить pip вместо того, чтобы понижать его. Я был очень удивлен, узнав, что я отстал на 5 основных версий (сейчас у нас 6.0.8). Обновление устранило проблему :)
Доктор Акула,
@ Доктор Акула, вы правы. Я обновил свой ответ. Спасибо.
Аарон Лелевье
"вы должны обновить pip" Я не могу обновить pip по той же причине, по которой я не могу устанавливать пакеты; HTTP Error 403: SSL is required
user5359531
9
@ user5359531 Загрузите архив pip из PyPI и сделайте pip install pip-x.x.x.tar.gz.
Pelle Nilsson
13

Я добавил параметр командной строки --proxy, чтобы указать на прокси, и он работает (версия pip - 1.5.4 и python 2.7). по какой-то причине он не принимал переменные оболочки оболочки HTTPS_PROXY, HTTP_PROXY, https_proxy, http_proxy.

sudo pip --proxy [user:passwd@]proxy.server:port install git-review
Chelfi
источник
нужны ли квадратные скобки вокруг пользователя? почему после пароля используется символ @?
user13107
12

Проверьте ваше прокси-соединение, у меня была аналогичная проблема, затем я изменил свое соединение, которое не было проксировано, и бум, он начал загрузку и настройку библиотеки

Оссама
источник
1
Как вы изменили прокси-соединение, чтобы оно заработало? У меня такая же проблема.
Аарон Лелевье
Я удалил прокси и изменил соединение на соединение без прокси, а затем после установки я вернулся к
рабочему соединению
Я столкнулся с той же проблемой, и я почти уверен, что это проблема с прокси. Есть ли обходной путь, кроме использования другого подключения?
Shaunakde
Я привязался к своему телефону, чтобы обойти прокси моей компании. Хорошее решение.
HuckIt
1
Моя проблема заключалась в том, что Fiddler был открыт (и я настроил Fiddler для расшифровки трафика HTTPS). Я закрыл Fiddler, и он работал нормально.
AJ Richardson
6

У меня была такая же проблема с pip==1.5.6. Пришлось поправить системное время.

# date -s "2014-12-09 10:09:50"
OrangeTux
источник
1
Другой способ исправить системное время - использовать демон ntp.
Хайме М.
отлично поработал для меня, был рад, что это было так просто исправить
jamescampbell
6

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

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

rm -r ~/.pip/
GusC
источник
5

Это сработало для меня на Ubuntu 12.04.

pip install --index-url=https://pypi.python.org/simple/ -U scikit-learn
Рамнар
источник
4

Если это не проблема прокси / сети, вам следует попытаться создать / отредактировать файл конфигурации .pip/pip.confили если вы используете pip как root /root/.pip/pip.conf. Проверьте и измените index-url с http на https .

Должно получиться так:

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

Работал для меня с Ubuntu 12 и pip 9.0.1

Alex
источник
2

Я смог исправить это, обновив свой python, который ранее был прикреплен к устаревшей версии OpenSSL. Теперь он использует 1.0.1h-1, и мой пакет будет установлен по пипу.

К вашему сведению, мой журнал и команды, используя anaconda и устанавливая пакет pytest-ipynb [1]:


$ conda update python
Fetching package metadata: ....
Solving package specifications: .
Package plan for installation in environment /Users/me/anaconda/envs/py27:

The following NEW packages will be INSTALLED: openssl: 1.0.1h-1

The following packages will be UPDATED: python: 2.7.5-3 --> 2.7.8-1 readline: 6.2-1 --> 6.2-2 sqlite: 3.7.13-1 --> 3.8.4.1-0 tk: 8.5.13-1 --> 8.5.15-0

Proceed ([y]/n)? y Unlinking packages ... [ COMPLETE ] |#############################################################| 100% Linking packages ... [ COMPLETE ] |#############################################################| 100%

$ pip install pytest-ipynb Downloading/unpacking pytest-ipynb Downloading pytest-ipynb-0.1.1.tar.gz Running setup.py (path:/private/var/folders/4f/b8gwyhg905x94twqw2pbklyw0000gn/T/pip_build_me/pytest-ipynb/setup.py) egg_info for package pytest-ipynb

Requirement already satisfied (use --upgrade to upgrade): pytest in /Users/me/anaconda/envs/py27/lib/python2.7/site-packages (from pytest-ipynb) Installing collected packages: pytest-ipynb Running setup.py install for pytest-ipynb

Successfully installed pytest-ipynb Cleaning up...

[1] Моя заявка по этой проблеме; https://github.com/zonca/pytest-ipynb/issues/1

AnneTheAgile
источник
Извините, я не уверен, почему при форматировании добавлено столько пустых строк?
AnneTheAgile
1

Я столкнулся с той же проблемой, но это был прокси-сервер. это было решено установкой прокси.

Set http_proxy=http://myuserid:mypassword@myproxyname:myproxyport
Set https_proxy=http://myuserid:mypassword@myproxyname:myproxyport

Это может кому-то помочь.

Джугал Панчал
источник
1

Если ваш прокси настроен правильно, pip версии 1.5.6 справится с этим правильно. Ошибка устранена.

Вы можете обновить pip с помощью easy_install pip==1.5.6

Шелдонкрегер
источник
1

Дополнительный ответ: если вы делаете это из chroot .

Вам нужен источник случайных чисел, чтобы иметь возможность установить безопасное соединение с pypi.

В linux вы можете привязать host dev к chroot dev:

mount --bind /dev /path-to-chroot/dev
Дима Тиснек
источник
1

Я также получил эту ошибку при установке pyinstaller в прокси-соединении. Я просто подключаю прямое подключение к Интернету (используя свой ключ) и снова это делаю.

 sudo pip install pyinstaller

Это сработало для меня.

RYJ
источник
1

Возможно, вам не хватает конфигурации DNS-сервера в /etc/resolv.conf

убедитесь, что вы можете пинговать: ping pypi.python.org

если вы не получаете пинг, попробуйте добавить DNS-сервер в файл ... что-то вроде:

сервер имен xxx.xxx.xxx.xxx

Охад парень
источник
1

Мое объяснение / запрос относится к среде Windows .
Я новичок в python, и это для кого-то еще новичка, чем я.
Я установил последнюю версию pip (пакет установщика python) и загрузил 32-битные / 64-битные (с открытым исходным кодом) двоичные файлы с http://www.lfd.uci.edu/~gohlke/pythonlibs/ , и это сработало.

Действия по установке pip, хотя обычно pip устанавливается по умолчанию во время установки python с www.python.org/downloads/
- Загрузите pip-7.1.0.tar.gz с https://pypi.python.org/pypi/pip .
- Разархивируйте и разархивируйте указанный выше файл.
- В папке pip-7.1.0 запустите: python setup.py install. Это установленная последняя версия pip.

Используйте pip для установки (любой возможной операции) двоичного пакета. Запустите приложение pip, чтобы выполнить работу (установочный файл), как
показано ниже: \ python27 \ scripts \ pip2.7.exe путь_установки к файлу \ имя_файла --proxy
Если вы столкнулись с проблемой колеса (например, яйца), используйте совместимый двоичный файл пакета . Надеюсь это поможет.

Паван Гауда
источник
1

В моем случае (Python 3.4, в виртуальной среде, работающей под macOS 10.10.6) я даже не смог обновить pipсебя. Помощь пришла из этого SO-ответа в виде следующего однострочника:

curl https://bootstrap.pypa.io/get-pip.py | python

(Если вы не используете виртуальную среду, вам может понадобиться sudo python.)

Благодаря этому мне удалось обновить pipверсию 1.5.6 до версии 10.0.0 (настоящий скачок!). Эта версия не использует TLS 1.0 или 1.1, которые больше не поддерживаются сайтами Python.org, и может легко устанавливать пакеты PyPI. Уточнять не нужно --index-url=https://pypi.python.org/simple/.

Гортань децидуальная
источник
1

в моем случае я бы установил django (

pip установить django

), и у него такая же проблема с сертификатом ssl (не удается получить базовый URL-адрес индекса http://pypi.python.org/simple/ )

это из virtualenv, поэтому СДЕЛАЙТЕ:

ПЕРВЫЙ: удалите свой virtualenv

деактивировать rm -rf env

ВТОРОЙ: проверьте наличие пункта

pip3 -V

если у вас нет

sudo apt-get install python3-pip

НАКОНЕЦ-ТО:

установите virtualenv с помощью nosite-packages и сделайте свой virenviroment

sudo pip3 установить virtualenv virtualenv --no-site-packages -p /usr/bin/python3.6

. env / bin / активировать

ME76SS
источник
0

У меня была аналогичная проблема, но в моем случае я получал ошибку:

Downloading/unpacking bencode
  Cannot fetch index base URL http://c.pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement bencode
No distributions at all found for bencode
Storing complete log in /home/andrew/.pip/pip.log

В моем случае я смог исправить ошибку, отредактировав ~ / .pip / pip.conf и изменив его http://c.pypi.python.org/simple/на, http://pypi.python.org/simpleа затем pip снова работал нормально.

Lurchman
источник
0

Я получил это сообщение об ошибке в ~/.pip/pip.log

Could not fetch URL https://pypi.python.org/simple/: connection error: [Errno 185090050] _ssl.c:344: error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib
  Will skip URL https://pypi.python.org/simple/ when looking for download links for regulargrid

Я исправил это, обновив свой ~/.pip/pip.conf. Он случайно указал на cacert.pemнесуществующий файл, который выглядел так

[global]
cert = /some/path/.pip/cacert.pem
Фред Шон
источник
0

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

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

лапин
источник
0

Я тоже использовал выбранное решение (переход на более раннюю версию), чтобы обойти эту проблему, пока не столкнулся с другой, казалось бы, не связанной проблемой, вызванной той же основной проблемой. Версия OpenSSL для Python устарела. Проверьте свою версию OpenSSL:

python -c 'import ssl; print(ssl.OPENSSL_VERSION)'

Если версия такая 0.9.7, это должно подтвердить, что OpenSSL необходимо обновить. Если вы знаете, как это сделать напрямую, отлично (но, пожалуйста, дайте мне знать в комментарии). Если нет, вы можете следовать совету в этом ответе и переустановить python из 64-разрядного / 32-разрядного установщика вместо 32-разрядного установщика с python.org (я использую python 3.4.2). Теперь у меня есть версия OpenSSL 0.9.8, и ни одной из этих проблем.

gerald.guisse
источник
0

Попробуйте переустановить pip:

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

Если curl не работает, у вас будут проблемы с прокси. Пожалуйста, исправьте, чтобы он работал нормально. Проверьте после открытия google.com в вашем браузере в Linux.

Попробуйте установить

pip install virtualenv
Манас
источник
0

Если вы используете брандмауэр, убедитесь, что исходящие подключения к порту 443 не заблокированы, например, запустите:

sudo iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
Евгений Ярмаш
источник
0

Я встречал с вами такие же вопросы. Когда я понимаю, что это может быть вызвано несоответствующей версией numpy или pip, я удалил numpy и pip, а затем продолжил как это https://radimrehurek.com/gensim/install.html , наконец-то мне удалось!

миечона
источник
0
C:\Users\Asus>pip install matplotlib
Downloading/unpacking matplotlib
  Cannot fetch index base URL https://pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement matplotlib
Cleaning up...
No distributions at all found for matplotlib
Storing debug log for failure in C:\Users\Asus\pip\pip.log

Я использовал easy_install pip == 1.2.1, и он работал нормально.

C:\Users\Asus>easy_install pip==1.2.1
Searching for pip==1.2.1
Reading https://pypi.python.org/simple/pip/
Best match: pip 1.2.1
Downloading ...

Затем при использовании этой команды pip install matplotlib

C:\Users\Asus>pip install matplotlib
Downloading/unpacking matplotlib
  Downloading matplotlib-2.0.0b4.tar.gz (unknown size):
Суровая добария
источник
0

Если вы запускаете эти команды в контейнере Docker в Windows, это может означать, что сетевое соединение вашей докер-машины устарело и требует восстановления. Чтобы исправить это, выполните следующие команды:

docker-machine stop
docker-machine start
@FOR /f "tokens=*" %i IN ('docker-machine env') DO @%i
скоростной самолет
источник
0

Я сейчас получаю это $HOME/.pip/pip.log:

Could not fetch URL https://pypi.python.org/simple/: HTTP Error 403: TLSv1.2+ is required

У меня нет простого решения для этого, но я упоминаю об этом как о чем-то, чего нужно остерегаться, прежде чем вы тратите время на пробу некоторых других решений здесь.

  • Очевидно, я уже использую URL-адрес https
  • Нет проблем с прокси или брандмауэром
  • Использование trusted-hostничего не изменило (не знаю, где я это взял)

Ибо то, что мне стоит, opensslслишком старое, чтобы даже иметь, ssl.OPENSSL_VERSIONтак что, возможно, это действительно объяснение здесь.

В конце концов, очистка моей виртуальной среды и ее воссоздание, virtualenv --setuptools envпохоже, устранили по крайней мере основные блокираторы.

Это действительно старый ящик Debian, Python 2.6.6.

тройной
источник
0

Моя проблема была в системной virtualenvверсии.

Когда я создал env с python3 venv, все работало. Но когда я использовал virtualenv (по умолчанию с python2.7) для создания env, я получаю эти сообщения об ошибках.

В virtualenvсозданной версии pip была 1.5.6, но моя системная версия pip была10.0.1

Затем я побежал (вне любого env):

pip install virtualenv --upgrade

Он обновлен virtualenvдо версии, 16.0.0и теперь я pip installв envs создан virtualenvи python2.7работает безупречно. Кроме того, pipверсия внутри env сейчас 10.0.1.

Перед обновлением:

Максимилиано Герра
источник