Помилка з'єднання 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, pip версія 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)

Сподіваюся, це комусь допомагає!


Дуже дякую! У мене також виникала ця проблема в Ubuntu 12.04, яка вже була pip 1.0 from /usr/lib/python2.7/dist-packages (python 2.7)встановлена, і яка фактично була непридатною для використання.
Джош Купершмідт,

Ви, сер, заслуговуєте на медаль. У мене була ця проблема на моїй бігльбоні чорній. Тепер це виправлено.
Aditya Shekhawat

Тут багато відповідей. Жоден з них не мав значення / працював для мене, крім цього. Дякую!
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) спричинив цю проблему. У примітці до випуску для цієї версії зазначено наступне:

НАЗАД НЕСУМІСНИЙ Більше явно не підтримує небезпечне походження походження, а замість цього вимагає, щоб небезпечні походження були явно довірені цій --trusted-hostопції.

Ви можете перевірити свою піп-версію за допомогою pip --version.

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


42

РЕДАГУВАТИ:

Поточна версія PIPбільше не має цієї проблеми. На даний момент версія: 7.1.2є поточною версією. Ось PIPпосилання:

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

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

Я отримав цю проблему під час спроби використання pip==1.5.4

Це проблема, пов’язана з PIP та Python PYPI, які довіряють сертифікатам 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
FYI, якщо ви читаєте це зараз (як і я), то вам слід оновити pip замість того, щоб знижувати його. Я був дуже здивований, зрозумівши, що відстаю від 5 основних версій (зараз ми знаходимося на 6.0.8). Оновлення вирішило проблему :)
Доктор Акула,

@ Dr.Acula ви маєте рацію. Я оновив свою відповідь. Дякую.
Аарон Лелев'є

"слід оновити pip" Я не можу оновити pip з тієї самої причини, що не можу встановлювати пакети; HTTP Error 403: SSL is required
user5359531

9
@ user5359531 Завантажте tarp-файл pip з PyPI і виконайте pip install pip-x.x.x.tar.gz.
Pelle Nilsson

13

Я додав параметр командного рядка --proxy, щоб вказати на проксі, і він працює (версія pip 1.5.4 та python 2.7). чомусь він не брав змінних env оболонки HTTPS_PROXY, HTTP_PROXY, https_proxy, http_proxy.

sudo pip --proxy [user:passwd@]proxy.server:port install git-review

чи потрібні ці квадратні дужки навколо користувача? чому символ @ використовується після пароля?
user13107

12

Перевірте підключення проксі-сервера, у мене була подібна проблема, а потім я змінив підключення, яке не було проксі-сервером і бумом, і воно почало завантажувати та налаштовувати бібліотеку


1
Як ви змінили проксі-з'єднання, щоб воно працювало? У мене така ж проблема.
Аарон Лелев'є

Я вилучив проксі-сервер і змінив підключення на такий без проксі-сервера, а потім, встановившись, повернувся до робочого зв'язку
Оссама,

Я стикаюся з тією ж проблемою, і я впевнений, що це проблема проксі. Чи є спосіб вирішення проблеми, крім використання іншого підключення?
shaunakde

Я прив’язав телефон, щоб обійти проксі-сервіс своєї компанії. Гарне рішення.
Хак

1
Моя проблема полягала в тому, що Fiddler був відкритий (і я налаштував Fiddler на дешифрування трафіку HTTPS). Я закрив Fiddler, і він працював нормально.
AJ Richardson,

6

У мене була та ж проблема з pip==1.5.6. Мені довелося виправити свій системний час.

# date -s "2014-12-09 10:09:50"

1
Інший спосіб виправити системний час - використання демона ntp.
Хайме М.

у мене спрацював чудово, був радий, що це було просто виправити
jamescampbell 02

6

У мене була та ж проблема з pip 1.5.6.

Я щойно видалив папку ~ / .pip, і вона працювала як шарм.

rm -r ~/.pip/

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



2

Я зміг це виправити, оновивши свій python, який раніше був приєднаний до застарілої версії OpenSSL. Зараз він використовує 1.0.1h-1, і мій пакет піп встановиться.

FYI, мій журнал та команди, використовуючи 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

1

Я зіткнувся з тією ж проблемою, але це був пов'язаний проксі. це було вирішено встановленням проксі.

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

Це може комусь допомогти.


1

Якщо ваш проксі-сервер налаштовано правильно, то піп версії 1.5.6 впорається з цим правильно. Виправлено помилку.

Ви можете оновити pip за допомогою easy_install pip==1.5.6


1

Додаткова відповідь: якщо ви робите це з chroot .

Вам потрібно джерело випадкових чисел, щоб мати можливість встановити безпечне з'єднання з pypi.

У Linux ви можете прив'язати монтування хост dev до chroot dev:

mount --bind /dev /path-to-chroot/dev

1

Я також отримав цю помилку під час встановлення pyinstaller у проксі-з'єднанні. Я просто підключив пряме підключення до Інтернету (за допомогою мого ключа) і зробив це знову.

 sudo pip install pyinstaller

Це спрацювало для мене.


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, щоб виконати роботу (встановити файл), як
показано нижче: \ python27 \ scripts \ pip2.7.exe install file_path \ file_name --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 встановити python3-pip

Нарешті:

встановіть virtualenv з nosite-пакетами та зробіть свій віренвіромент

sudo pip3 встановити virtualenv virtualenv --no-site-пакети -p /usr/bin/python3.6

. env / bin / activate


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 знову працював нормально.


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, у вас більше не буде цієї помилки.


0

Я теж використовував обране рішення (зниження версії pip), щоб обійти цю проблему, поки не зіткнувся з іншою, здавалося б, не пов’язаною проблемою, спричиненою тією ж основною проблемою. Версія 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, і жодна з цих проблем.


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

У мене немає прямого рішення для цього, але я згадую про це, як про те, на що слід стежити, перш ніж витрачати час на спробу деяких інших рішень тут.

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

Бо те, що воно варте мого openssl, занадто старе, щоб навіть матиssl.OPENSSL_VERSION тому, можливо, це справді пояснення тут.

Зрештою, видалення мого віртуального середовища та його відтворення, virtualenv --setuptools envздається, виправили принаймні основні блокатори.

Це на справді старому вікні Debian, Python 2.6.6.


0

Моєю проблемою була система virtualenv версія .

Коли я створював env з python3 venv, все працювало. Але коли я використовував virtualenv (за замовчуванням з python2.7) для створення env, я отримую ці повідомлення про помилки.

У virtualenvствореній піп-версія була 1.5.6, але моя системна піп-версія була10.0.1

Потім я побіг (поза будь-яким середовищем):

pip install virtualenv --upgrade

Він модернізований virtualenvдо версії, 16.0.0і тепер його pip installв envs створено virtualenvта python2.7працює бездоганно. Крім того, pipверсія всередині env зараз10.0.1 .

Перед оновленням:

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.