Tidak dapat memutakhirkan pip

21

Saya baru mengenal Linux dan Ubuntu.

Saya mencoba untuk memutakhirkan pip tetapi bertemu dengan ini ...

$ sudo pip install --upgrade pip
Cannot fetch index base URL https://pypi.python.org/simple/
Downloading/unpacking pip from https://pypi.python.org/packages/py2.py3/p/pip/pip-7.1.0-py2.py3-none-any.whl#md5=b108384a762825ec20345bb9b5b7209f
  Downloading pip-7.1.0-py2.py3-none-any.whl (1.1MB): 1.1MB downloaded
Installing collected packages: pip
  Found existing installation: pip 1.5.4
    Not uninstalling pip at /usr/lib/python2.7/dist-packages, owned by OS
Successfully installed pip
Cleaning up...

Ada yang tahu kenapa?

Spencer Lee
sumber
2
coba aptyaitu sudo apt-get install python-pipuntuk meningkatkanpip
heemayl
hmmm ... mengatakan ini adalah versi terbaru ... apakah ini karena apt-get dan pip mendapatkan paket mereka dari sumber yang berbeda? (yaitu apakah itu akan menjadi perbedaan antara apt-get dan pypi?) 'python-pip sudah merupakan versi terbaru.'
Spencer Lee
itu berarti sudah terkini ...
Tim
1
kecuali menjalankan: daftar pip --pipa keluar mengembalikan yang berikut: pip (Saat ini: 1.5.4 Terbaru: 7.1.0) Tidak dapat menemukan unduhan yang memenuhi persyaratan python-apt Beberapa file yang di-hosting secara eksternal diabaikan (gunakan --allow- python-apt eksternal untuk mengizinkan).
Spencer Lee

Jawaban:

3

Edit:

pip install -U pip

atau

pip install --upgrade pip

-Uadalah singkatan --upgrade.


Jawaban lama:

The aptsistem dan PyPIpenggunaan dua mekanisme yang berbeda.

Dalam repositori Ubuntu banyak modul pythontersedia sebagai paket, tetapi jumlahnya tidak banyak dibandingkan dengan PyPI (The Python Package Index) . Untuk tetap konsisten dalam memutakhirkan paket, Anda harus mempertimbangkan metode yang Anda gunakan pada awalnya digunakan untuk menginstalnya.

Jadi, jika Anda telah menginstal sebuah paket (modul) dari PyPImenggunakan pipmaka Anda harus digunakan pipuntuk meningkatkan paket dari PyPI(termasuk pipsendiri). Di sisi lain jika Anda telah menggunakan aptsistem untuk menginstal modul (sebagai paket) yang perlu Anda gunakan aptuntuk meningkatkannya lagi.

Singkatnya, jalankan yang berikut untuk meningkatkan python-pipke versi terbaru:

sudo apt-get install python-pip
heemayl
sumber
4
Ini tidak menjawab pertanyaan. python-pip tidak memutakhirkan pip, itu hanya menginstal versi pip yang sangat lama sehingga pip tidak bisa memutakhirkan sendiri.
Cerin
@Cerin Apakah Anda sudah membaca jawabannya? python-pipadalah paket dari repositori Universe (resmi) tempat easy_installinstal dari PyPI. Seperti biasa, repositori resmi tidak mengandung paket terbaru untuk menjaga stabilitas sistem (dan dependensi teratasi).
heemayl
6
@ heemayl, OP bertanya bagaimana cara memutakhirkan pip dan Anda secara efektif mengatakan kepada mereka untuk menginstal versi lama dari pip. Solusi yang benar adalah menghapus instalan python-pip dan menginstal dari PyPI. Menginstal python-pip tidak meningkatkan pip.
Cerin
22

Coba instal dengan easy_install:

easy_install -U pip
NamPNQ
sumber
1
Tidak yakin apakah jawaban ini masih valid? Posting tentang Stack Overflow ini ditanyakan pada "Mengapa menggunakan pip over easy_install?", Di mana salah satu jawaban mencatat bahwa: "Satu-satunya alasan yang saya tahu untuk menggunakan easy_install pada tahun 2015 adalah kasus khusus menggunakan Python yang telah diinstal sebelumnya dari Apple. versi dengan OS X 10.5-10.8. "
clearkimura
1
Fokus pada pertanyaan, pertanyaannya adalah 'Tidak dapat memutakhirkan pip', dan saya menyarankan cara meningkatkan melalui easy_install, itu berfungsi pada Desember 2015, ok?
NamPNQ
Kepada para pemilih, jelaskan mengapa jawaban ini diturunkan sebelumnya? Saya berhasil menemukan komentar baru-baru ini di bawah posting ini , yang dikutip di sini: "easy_install -U pip dari saran ByteCommander bekerja untuk saya. - Tampa 1 Juni jam 12:23". The easy_installMetode dilaporkan bekerja untuk beberapa pengguna.
clearkimura
1
Ini bekerja untuk saya (dengan sudo). Sebelumnya, sudo apt-get install python-pipmemberi saya python-pip is already the newest version (8.1.1-2ubuntu0.4)sedangkan 9.0.1 tersedia, tetapi tidak dapat diinstal oleh pip install --upgrade pip(yang membuat versi tidak berubah pada 8.1.1). Setelah easy_installversi ditingkatkan.
Kurt Peek
Meskipun ini berfungsi, ini mengganti file yang dikelola sistem dengan pipversi yang lebih baru . Instal ulang python-pippaket akan mengganti file lagi. Kode lain yang mengandalkan versi paket yang hadir dan benar dapat rusak (kecil tapi tidak nol kemungkinan), dan easy_installdapat menambahkan file tambahan yang tidak dihapus ketika di masa mendatang meningkatkan python-pipke versi yang lebih baru yang dapat mengganggu dan merusak barang-barang.
Martijn Pieters
7

Saya memiliki masalah yang sama untuk waktu yang lama dan menemukan solusinya hari ini. Ketika Anda menginstal pip melalui python-pip, Anda mengunduh dari server Linux yang sudah usang. Anda harus mengunduh dari server python. Untuk mengatasi ini, lakukan hal berikut:

sudo apt-get purge pip
sudo apt-get install python-setuptools
sudo apt-get install python-dev 
sudo easy_install pip 
pip install pip --upgrade 
pengguna730924
sumber
1
terima kasih telah menjelaskan sumber masalahnya. Saya harus mencari tahu sendiri sebelum menggulir ke bawah dan melihat jawaban ini.
G Gordon Worley III
Perintah-perintah ini (2-3) salah.
Joel G Mathew
@JoelGMathew hanya perlu kata install setelah apt-get
nurgasemetey
2

Sebenarnya, Anda dapat mengedit skrip 'pip' Anda:

dari root:

$ which pip  # -> prints 'pip' location

$ nano `which pip` # -> open with your editor, note the backticks!

ganti __requires__dengan versi pip terbaru Anda seperti:

__requires__ = 'pip==7.1.2'

dari edit baris dengan panggilan 'load_entry_point' ke:

load_entry_point(__requires__, 'console_scripts', 'pip')()

dan:

$pip -V
pip 7.1.2 from /usr/local/lib/python2.7/dist-packages (python 2.7)

juga, saya harus memperbarui paket setuptools saya , untuk menginstal beberapa paket.

s0rg
sumber
2

Ini disebabkan oleh konflik antara versi pip yang disediakan oleh paket sistem, seperti python-pip, dan versi yang disediakan oleh PyPI melalui pip itu sendiri.

Untuk memperbaiki ini, cukup hapus python-pipdengan sudo apt-get purge python-pip.

Jika Anda telah menggunakan versi lama dari pip untuk menginstal versi yang lebih baru, ini akan membiarkan versi yang diperbarui /usr/local/bin. Jika tidak, Anda dapat menginstal versi Pip terbaru dari awal dengan:

curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | sudo python2.7
Cerin
sumber
1

Gunakan tautan ini untuk meningkatkan. Pada dasarnya:

  1. Unduh file get-pip.py
  2. menjalankan python get-pip.py
Manish
sumber
1

Coba jalankan sudo -H pip3 install --upgrade pipuntuk meningkatkan pip3 Anda (untuk Python 3). Sebaliknya, Anda dapat melakukan sudo -H pip2 install --upgrade pipupgrade pip juga (untuk Python 2).

BhushanDhamale
sumber
1

Saya mengalami masalah ini ketika bekerja pada mesin jarak jauh saya ssh'd ke. Saya baru saja menginstal python 3, dan tidak bisa mendapatkan pip untuk memutakhirkan, meskipun saya telah mencoba untuk memutakhirkan melalui kedua pip DAN apt-get.

Logout dari server jauh dan masuk kembali memperbaikinya.

Teal Hobson-Lowther
sumber
0

Jika python-pipdiinstal dari repositori apt dengan sudo user - run sudo -H install --upgrade pip, sama untuk menginstal modul PIP.

Di sini keluaran dari konsol saya pada 16,04

..... Successfully installed requests
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
:~$ pip install --upgrade pip
Collecting pip
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
    100% |████████████████████████████████| 1.3MB 672kB/s 
Installing collected packages: pip
Successfully installed pip-8.1.1
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
:~$ sudo -H pip install --upgrade pip
Collecting pip
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
    100% |████████████████████████████████| 1.3MB 692kB/s 
Installing collected packages: pip
  Found existing installation: pip 8.1.1
    Not uninstalling pip at /usr/lib/python2.7/dist-packages, outside environment /usr
Successfully installed pip-9.0.1
:~$ 

juga lihat Apa bendera -H untuk pip? /programming/28619686/what-is-the-h-flag-for-pip

Komunitas
sumber
0

Saya hanya pemula jadi saya tidak yakin tapi mungkin ada sesuatu yang berhubungan dengan perbedaan antara python 2 dan 3. Saya pikir itu tidak perlu menjadi superuser tetapi Anda dapat melakukannya dengan mudah menggunakan pip3alih-alih pipjuga untuk meningkatkan pip: pip3 install --upgrade pip

NBee
sumber
0

Saya mendapat masalah serupa pada peningkatan versi pip 9.0.3 ke 18.0.

Jadi, saat memutakhirkan, pencopotan pemasangan pertama kali terjadi dan kemudian versi terbaru diinstal. Namun, saya menemukan bahwa pada upaya pertama Anda mengatakan "berhasil menghapus pip-9.0.3"

Pada upaya berikutnya, kami mendapatkan kesalahan yang sama. Ini karena pip-9.0.3 dihapus instalasinya. Seperti dengan jawaban yang diterima, saya menginstal pip sebagai admin di sistem windows 10 saya, mendapatkan versi terbaru dan kemudian semuanya baik-baik saja.

Semoga ini membantu.

Eswar
sumber