lỗi kết nối pip: không thể tìm nạp URL cơ sở chỉ mục http://pypi.python.org/simple/


89

Tôi chạy sudo pip install git-reviewvà nhận được các thông báo sau:

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

Có ai có bất kỳ ý tưởng về điều này?


4
Phải là một kết nối proxy
Ossama

1
"không ai trong số họ dường như giải quyết được vấn đề của tôi" Đây là những cái nào? Để chúng ta không lặp lại chính mình.
RandomSeed vào

Câu trả lời:


143

Tôi biết đây là một chủ đề cũ, nhưng tôi đã gặp phải vấn đề này hôm nay và muốn chia sẻ giải pháp của tôi cho vấn đề vì tôi chưa thấy giải pháp này ở nơi khác trên SO.

Môi trường của tôi: Python 2.7.12 / 2.7.14 trên Ubuntu 12.04.5 LTS trong virtualenv, phiên bản pip 1.1.

Lỗi của tôi:

pip install nose

trong bảng điều khiển:

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

trong ~ / .pip / pip.log:

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

Tò mò cho tôi vì tôi đã chạy những lệnh tương tự này trong một tập lệnh mà không có vấn đề gì trong khoảng một năm.

điều này đã sửa nó:

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

(lưu ý https)

Hy vọng điều này sẽ giúp ai đó!


Cảm ơn rất nhiều! Tôi cũng đang gặp sự cố này trên Ubuntu 12.04, bản đã được pip 1.0 from /usr/lib/python2.7/dist-packages (python 2.7)cài đặt sẵn, không sử dụng được.
Josh Kupershmidt

Ngài xứng đáng được huy chương. Tôi đang gặp vấn đề này trên chiếc xương đen của tôi. Bây giờ nó đã được sửa chữa.
Aditya Shekhawat

Nhiều câu trả lời ở đây. Không ai trong số họ liên quan / làm việc cho tôi ngoại trừ cái này. Cảm ơn bạn!
mình

pip install --index-url=http://mypypi.net/simple/ném lỗiERROR: You must give at least one requirement to install (see "pip help install")
Nhầm

@Con Founder - Cảm ơn bạn đã chỉ ra điều đó, chỉ cần liệt kê các gói bạn muốn cài đặt sau tùy chọn --index-url. Xem bản cập nhật để biết ví dụ.
mattdedek

59

Bạn cần nâng cấp cài đặt pip của mình .

Các --index-url(phiên bản ngắn: -i) tùy chọn cho phép bạn chỉ định một chỉ số url trong cuộc gọi đến pip bản thân, có bạn có thể sử dụng https-biến. Sau đó, bạn có thể hướng dẫn pip tự nâng cấp.

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

Sau đó, bạn sẽ có thể sử dụng pip mà không cần --index-urltùy chọn.


Tôi tin rằng bản phát hành 7.0.0 (2015-05-21) đã gây ra sự cố này. Ghi chú phát hành cho phiên bản đó nêu rõ những điều sau:

NGUỒN LẠI KHÔNG THỂ PHÙ HỢP Không còn hỗ trợ ngầm định nguồn gốc xuất xứ không an toàn, thay vào đó yêu cầu nguồn gốc không an toàn được tin cậy rõ ràng với --trusted-hosttùy chọn.

Bạn có thể kiểm tra phiên bản pip của mình với pip --version.

Điều này có nghĩa là việc phát hành sudo pip install --trusted-host --upgrade pipmột lần cũng sẽ giải quyết được vấn đề này, mặc dù pip tải xuống qua http không an toàn. Điều này cũng có thể không hoạt động, vì có thể điểm cuối không an toàn không còn truy cập được trên máy chủ (tôi chưa kiểm tra điều này).


42

BIÊN TẬP:

Phiên bản hiện tại của PIPkhông còn vấn đề này. Hiện tại, phiên bản: 7.1.2là phiên bản hiện tại. Đây là PIPliên kết:

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

SỬA GỐC:

Tôi gặp sự cố này khi cố gắng sử dụng pip==1.5.4

Đây là vấn đề liên quan đến chứng chỉ SSL tin cậy PIP và PYPI của Python. Nếu bạn xem nhật ký PIP trong Mac OS X tại: /Users/username/.pip/pip.log, nó sẽ cung cấp cho bạn nhiều chi tiết hơn.

Cách giải quyết của tôi để sao lưu và chạy PIP sau nhiều giờ thử các công cụ khác nhau là truy cập các gói trang web của tôi bằng Python cho dù nó nằm trong virtualenv hay trong các gói trang thông thường của bạn và loại bỏ phiên bản PIP hiện tại. Đối với tôi tôi đã cópip==1.5.4

Tôi đã xóa thư mục PIP và tệp trứng PIP. Sau đó tôi chạy

easy_install pip==1.2.1  

Phiên bản PIP này không có vấn đề về SSL và sau đó tôi có thể chạy bình thường pip install -r requirements.txttrong virtualenv của mình để thiết lập tất cả các gói mà tôi muốn đã được liệt kê trong requirements.txttệp của tôi .

Đây cũng là cách hack được đề xuất để giải quyết vấn đề bởi một số người trong Nhóm Google này mà tôi đã tìm thấy:

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


Đã sửa lỗi cho tôi.
HorseloverFat

6
FYI, nếu bạn đang đọc điều này ngay bây giờ (giống như tôi đã làm), thì bạn nên nâng cấp pip thay vì hạ cấp nó. Tôi đã rất ngạc nhiên khi nhận ra rằng tôi đã đi sau 5 phiên bản chính (hiện tại chúng tôi đang ở mức 6.0.8). Nâng cấp đã khắc phục sự cố :)
Tiến sĩ Acula

@ Dr.Acula bạn nói đúng. Tôi đã cập nhật câu trả lời của mình. Cảm ơn bạn.
Aaron Lelevier

"bạn nên nâng cấp pip" Tôi không thể nâng cấp pip vì lý do tương tự mà tôi không thể cài đặt các gói; HTTP Error 403: SSL is required
user5359531

9
@ user5359531 Tải xuống pip tarball từ PyPI và thực hiện pip install pip-x.x.x.tar.gz.
Pelle Nilsson

13

Tôi đã thêm tùy chọn dòng lệnh --proxy để trỏ đến proxy và nó đang hoạt động (phiên bản pip là 1.5.4 và python 2.7). vì một số lý do, nó không sử dụng các biến shell env HTTPS_PROXY, HTTP_PROXY, https_proxy, http_proxy.

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

những dấu ngoặc vuông xung quanh người dùng có được yêu cầu không? tại sao ký hiệu @ được sử dụng sau mật khẩu?
dùng13107

12

Kiểm tra kết nối proxy của bạn, tôi gặp sự cố tương tự, sau đó tôi đã thay đổi kết nối không được hỗ trợ và bùng nổ, nó bắt đầu tải xuống và thiết lập thư viện


1
Bạn đã thay đổi kết nối được ủy quyền của mình như thế nào để nó hoạt động? Tôi đang gặp vấn đề tương tự.
Aaron Lelevier

Tôi đã gỡ bỏ proxy và thay đổi kết nối đến một mà không có proxy và sau đó sau khi cài đặt tôi đã thay đổi trở lại conection công việc
Ossama

Tôi đang gặp phải vấn đề tương tự và tôi khá chắc chắn đó là vấn đề proxy. Có giải pháp nào khác ngoài việc sử dụng kết nối khác không?
shaunakde

Tôi kết nối với điện thoại của mình để truy cập proxy của công ty tôi. Giải pháp tốt.
Huck:

1
Vấn đề của tôi là Fiddler đang mở (và tôi đã định cấu hình Fiddler để giải mã lưu lượng HTTPS). Tôi đã đóng Fiddler và nó hoạt động tốt.
AJ Richardson

6

Tôi đã có cùng một vấn đề với pip==1.5.6. Tôi đã phải sửa thời gian hệ thống của mình.

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

1
Một cách khác để sửa thời gian hệ thống là sử dụng daemon ntp.
Jaime M.

đã làm việc tuyệt vời cho tôi, rất vui vì việc khắc phục đơn giản như vậy
jamescampbell

6

Tôi đã gặp vấn đề tương tự với pip 1.5.6.

Tôi vừa xóa thư mục ~ / .pip và nó hoạt động như một sự quyến rũ.

rm -r ~/.pip/

5

Điều này đã làm việc cho tôi trên Ubuntu 12.04.

pip install --index-url=https://pypi.python.org/simple/ -U scikit-learn

4

Nếu đó không phải là vấn đề proxy / mạng, bạn nên cố gắng tạo / chỉnh sửa tệp cấu hình .pip/pip.confhoặc nếu bạn đang chạy pip dưới dạng root /root/.pip/pip.conf. Kiểm tra và thay đổi index-url từ http thành https .

Nó sẽ như thế này:

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

Làm việc cho tôi với Ubuntu 12 và pip 9.0.1



2

Tôi đã có thể sửa lỗi này bằng cách nâng cấp python của mình, trước đó đã được đính kèm với phiên bản OpenSSL lỗi thời. Bây giờ nó đang sử dụng 1.0.1h-1 và gói của tôi sẽ cài đặt.

FYI, nhật ký và các lệnh của tôi, sử dụng anaconda và cài đặt gói 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] Vé của tôi về vấn đề này; https://github.com/zonca/pytest-ipynb/issues/1


Tôi xin lỗi, tôi không chắc tại sao định dạng lại thêm nhiều dòng trống như vậy?
AnneTheAgile vào

1

Tôi gặp phải vấn đề tương tự nhưng đó là proxy liên quan. nó đã được giải quyết bằng cách đặt proxy.

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

Điều này có thể giúp ai đó.


1

Nếu proxy của bạn được định cấu hình chính xác, thì phiên bản pip 1.5.6 sẽ xử lý điều này một cách chính xác. Lỗi đã được giải quyết.

Bạn có thể nâng cấp pip với easy_install pip==1.5.6


1

Câu trả lời bổ sung: nếu bạn đang làm điều này từ chroot .

Bạn cần nguồn số ngẫu nhiên để có thể thiết lập kết nối an toàn với pypi.

Trên linux, bạn có thể bind-mount host dev thành chroot dev:

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

1

Tôi cũng gặp lỗi này khi cài đặt pyinstaller trong kết nối được hỗ trợ. Tôi chỉ cần kết nối kết nối Internet trực tiếp (Sử dụng dongle của tôi) và làm điều đó một lần nữa.

 sudo pip install pyinstaller

Điều này đã làm việc cho tôi.


1

Có thể bạn đang thiếu cấu hình máy chủ DNS trong /etc/resolv.conf

đảm bảo rằng bạn có thể ping tới: ping pypi.python.org

nếu bạn không nhận được ping, hãy thử thêm máy chủ DNS vào tệp ... một cái gì đó như:

máy chủ định danh xxx.xxx.xxx.xxx


1

Lời giải thích / yêu cầu của tôi là dành cho môi trường windows .
Tôi còn khá mới với python, và điều này dành cho một người vẫn chưa quen với tôi.
Tôi đã cài đặt pip mới nhất (gói trình cài đặt python) và tải xuống tệp nhị phân tương thích 32 bit / 64 bit (mã nguồn mở) từ http://www.lfd.uci.edu/~gohlke/pythonlibs/ và nó đã hoạt động.

Các bước tiếp theo để cài đặt pip, mặc dù thường pip được cài đặt theo mặc định trong quá trình cài đặt python từ www.python.org/downloads/
- Tải xuống pip-7.1.0.tar.gz từ https://pypi.python.org/pypi/pip .
- Giải nén và giải nén tập tin trên.
- Trong thư mục pip-7.1.0, chạy: python setup.py install. Pip cài đặt phiên bản mới nhất này.

Sử dụng pip để cài đặt gói nhị phân (bất kỳ hoạt động khả thi nào). Chạy ứng dụng pip để thực hiện công việc (tệp cài đặt), như bên dưới:
\ python27 \ scripts \ pip2.7.exe install file_path \ file_name --proxy
Nếu bạn gặp phải vấn đề về bánh xe (tức là trứng), hãy sử dụng tệp gói nhị phân tương thích . Hi vọng điêu nay co ich.


1

Trong trường hợp của tôi (Python 3.4, trong môi trường ảo, chạy dưới macOS 10.10.6), tôi thậm chí không thể piptự nâng cấp . Sự trợ giúp đến từ câu trả lời SO này dưới dạng một lớp lót sau:

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

(Nếu bạn không sử dụng môi trường ảo, bạn có thể cần sudo python.)

Với điều này, tôi đã quản lý để nâng cấp piptừ Phiên bản 1.5.6 lên Phiên bản 10.0.0 (khá nhanh!). Phiên bản này không sử dụng TLS 1.0 hoặc 1.1 không được hỗ trợ bởi (các) trang web Python.org và có thể cài đặt các gói PyPI một cách độc đáo. Không cần chỉ định --index-url=https://pypi.python.org/simple/.


1

trong trường hợp của tôi, tôi sẽ cài đặt django (

pip cài đặt django

) và nó có cùng một vấn đề với chứng chỉ ssl (Không thể tìm nạp URL cơ sở chỉ mục http://pypi.python.org/simple/ )

nó từ virtualenv nên LÀM:

ĐẦU TIÊN: xóa virtualenv của bạn

hủy kích hoạt rm -rf env

THỨ HAI: kiểm tra có pip

pip3 -V

nếu bạn không có

sudo apt-get install python3-pip

CUỐI CÙNG:

cài đặt virtualenv với các gói nosite và tạo virenviroment của bạn

sudo pip3 cài đặt virtualenv virtualenv --no-site-pack -p /usr/bin/python3.6

. env / bin / kích hoạt


0

Tôi đã gặp sự cố tương tự, nhưng trong trường hợp của tôi, tôi gặp lỗi:

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

Trong trường hợp của tôi, tôi đã có thể sửa lỗi bằng cách chỉnh sửa ~ / .pip / pip.conf và thay đổi http://c.pypi.python.org/simple/thành http://pypi.python.org/simplerồi pip hoạt động tốt trở lại.


0

Tôi nhận được thông báo lỗi này trong ~/.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

Tôi đã sửa nó bằng cách cập nhật của tôi ~/.pip/pip.conf. Nó vô tình trỏ đến cacert.pemtệp không tồn tại và trông như thế này

[global]
cert = /some/path/.pip/cacert.pem

0

Tôi đã từng sử dụng easy_install pip==1.2.1giải pháp thay thế nhưng tôi ngẫu nhiên thấy rằng nếu bạn đang gặp lỗi này, có thể bạn đã cài đặt phiên bản python 32bit.

Nếu bạn cài đặt phiên bản 64bit của nó bằng cách cài đặt nó từ nguồn và sau đó xây dựng virtualenv trên đó, bạn sẽ không gặp phải lỗi pip đó nữa.


0

Tôi cũng đã sử dụng giải pháp đã chọn (hạ cấp pip) để giải quyết vấn đề này cho đến khi tôi gặp phải một vấn đề khác dường như không liên quan do cùng một vấn đề cơ bản gây ra. Phiên bản OpenSSL của Python đã lỗi thời. Kiểm tra phiên bản OpenSSL của bạn:

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

Nếu là phiên bản 0.9.7, điều đó sẽ xác minh rằng OpenSSL cần được cập nhật. Nếu bạn biết cách làm điều đó trực tiếp, thật tuyệt (nhưng hãy cho tôi biết trong một bình luận). Nếu không, bạn có thể làm theo lời khuyên trong câu trả lời này và cài đặt lại python từ trình cài đặt 64 bit / 32 bit thay vì trình cài đặt chỉ 32 bit từ python.org (Tôi đang sử dụng python 3.4.2). Bây giờ tôi có phiên bản OpenSSL 0.9.8và không có vấn đề nào trong số này.


0

Thử cài đặt lại 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

Nếu curl không hoạt động, bạn sẽ gặp sự cố proxy, Vui lòng khắc phục để nó hoạt động tốt. Kiểm tra sau khi mở google.com trong trình duyệt của bạn trong linux.

Thử cài đặt

pip install virtualenv

0

Trong trường hợp bạn sử dụng tường lửa, hãy đảm bảo rằng các kết nối đi đến cổng 443 không bị chặn, ví dụ: chạy:

sudo iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT

0

Tôi đã gặp những câu hỏi tương tự với bạn. Khi tôi nhận ra có thể do phiên bản numpy hoặc pip chưa khớp, tôi đã gỡ cài đặt numpy và pip, sau đó tiếp tục như sau ' https://radimrehurek.com/gensim/install.html ', cuối cùng thì tôi đã thành công!


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

Tôi đã sử dụng 'easy_install pip == 1.2.1' và nó hoạt động tốt.

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

Sau đó, sử dụng lệnh này 'pip install matplotlib'

C:\Users\Asus>pip install matplotlib
Downloading/unpacking matplotlib
  Downloading matplotlib-2.0.0b4.tar.gz (unknown size):

0

Nếu bạn đang chạy các lệnh này trong vùng chứa Docker trên Windows, điều đó có thể có nghĩa là kết nối mạng của máy docker của bạn đã cũ và cần được xây dựng lại. Để khắc phục, hãy chạy các lệnh sau:

docker-machine stop
docker-machine start
@FOR /f "tokens=*" %i IN ('docker-machine env') DO @%i

0

Bây giờ tôi nhận được điều này trong $HOME/.pip/pip.log:

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

Tôi không có giải pháp đơn giản nào cho vấn đề này, nhưng tôi đang đề cập đến nó như một thứ cần chú ý trước khi bạn lãng phí thời gian vào việc thử một số giải pháp khác ở đây.

  • Rõ ràng là tôi đã sử dụng URL https
  • Không có vấn đề về proxy hoặc tường lửa
  • Sử dụng trusted-hostkhông thay đổi bất cứ điều gì (dunno nơi tôi đã chọn cái này)

Vì những gì đáng giá của tôi openssllà quá già để cóssl.OPENSSL_VERSION nên có lẽ đó thực sự là lời giải thích ở đây.

Cuối cùng, việc xóa sạch môi trường ảo của tôi và tạo lại nó có virtualenv --setuptools envvẻ như đã khắc phục được ít nhất các trình chặn chính.

Đây là trên một hộp Debian thực sự cũ, Python 2.6.6.


0

Vấn đề của tôi là hệ thống virtualenv phiên bản .

Khi tôi tạo một env với python3 venv, mọi thứ đều hoạt động. Nhưng khi tôi sử dụng virtualenv (theo mặc định với python2.7) để tạo env, tôi nhận được những thông báo lỗi đó.

Trong virtualenvphiên bản pip đã tạo là1.5.6 , nhưng phiên bản pip hệ thống của tôi là10.0.1

Sau đó, tôi chạy (bên ngoài bất kỳ env nào):

pip install virtualenv --upgrade

Nó đã nâng cấp virtualenvlên phiên bản 16.0.0và bây giờ của tôi pip installtrong envs được tạo ra virtualenvpython2.7hoạt động hoàn hảo. Ngoài ra, pipphiên bản bên trong env hiện là 10.0.1.

Trước khi nâng cấp:

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.