ไม่สามารถอัปเกรด pip ได้


21

ฉันยังใหม่กับ Linux และ Ubuntu

ฉันพยายามอัพเกรด pip แต่พบปัญหานี้ ...

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

มีความคิดอะไรบ้าง


2
พยายามที่จะอัพเกรดaptคือ sudo apt-get install python-pippip
heemayl

hmmm ... บอกว่าเป็นรุ่นที่ทันสมัยที่สุด ... เป็นเพราะ apt-get และ pip ​​ได้รับแพ็คเกจของพวกเขาจากแหล่งต่าง ๆ หรือไม่? (เช่นนั่นจะเป็นความแตกต่างระหว่าง apt-get และ pypi หรือไม่) 'python-pip เป็นรุ่นใหม่ล่าสุดแล้ว'
สเปนเซอร์ลี

นั่นหมายความว่ามันเป็นข้อมูลล่าสุด ...
ทิม

1
ยกเว้นการเรียกใช้: รายการ pip - pip ที่ล้าสมัยคืนค่าต่อไปนี้: pip (ปัจจุบัน: 1.5.4 ล่าสุด: 7.1.0) ไม่พบการดาวน์โหลดใด ๆ ที่เป็นไปตามข้อกำหนด python-apt ไฟล์โฮสต์ภายนอกบางไฟล์ถูกละเว้น (ใช้ --allow- python-apt ภายนอกที่จะอนุญาต)
สเปนเซอร์ลี

คำตอบ:


3

แก้ไข:

pip install -U pip

หรือ

pip install --upgrade pip

-U--upgradeเป็นชวเลข


คำตอบเก่า:

aptระบบและการPyPIใช้งานที่แตกต่างกันสองกลไก

ในที่เก็บของ Ubuntu หลายโมดูลpythonมีอยู่เป็นแพคเกจ แต่พวกเขาจะไม่มากในตัวเลขเมื่อเทียบกับPyPI (งูใหญ่แพคเกจดัชนี) เพื่อให้สอดคล้องกับการอัปเกรดแพ็คเกจคุณต้องพิจารณาวิธีการที่คุณใช้ในการติดตั้งเป็นครั้งแรก

ดังนั้นหากคุณติดตั้งแพคเกจ (โมดูล) จากการPyPIใช้งานpipคุณควรใช้pipเพื่ออัพเกรดแพ็คเกจจากPyPI(รวมถึงpipตัวเอง) ในทางกลับกันถ้าคุณเคยใช้aptระบบเพื่อติดตั้งโมดูล (เป็นแพ็คเกจ) คุณต้องใช้aptเพื่ออัพเกรดมันอีกครั้ง

สั้นเรียกใช้ต่อไปนี้เพื่ออัพเกรดpython-pipเป็นเวอร์ชั่นล่าสุด:

sudo apt-get install python-pip

4
สิ่งนี้ไม่ตอบคำถาม python-pip ไม่ได้ทำการอัพเกรด pip มันจะทำการติดตั้ง pip เก่า ๆ เท่านั้นเช่น pip ที่ไม่สามารถอัพเกรดตัวมันเองได้
Cerin

@Cerin คุณอ่านคำตอบอย่างละเอียดหรือไม่? python-pipเป็นแพคเกจจาก (อย่างเป็นทางการ) ที่เก็บจักรวาลในขณะที่การติดตั้งจากeasy_install PyPIเช่นเคยที่เก็บข้อมูลอย่างเป็นทางการไม่ได้มีแพคเกจล่าสุดเพื่อให้ระบบมีเสถียรภาพ (และแก้ไขการอ้างอิง)
heemayl

6
@ heemayl, OP ถามวิธีอัปเกรด pip และคุณบอกให้ติดตั้ง pip เวอร์ชั่นเก่าอย่างมีประสิทธิภาพ ทางออกที่ถูกต้องคือถอนการติดตั้ง python-pip และติดตั้งจาก PyPI การติดตั้ง python-pip ไม่ได้อัพเกรด pip
Cerin

22

ลองติดตั้งด้วยeasy_install:

easy_install -U pip

1
ไม่แน่ใจว่าคำตอบนี้ยังใช้ได้หรือไม่? โพสต์บน Stack Overflow ถามว่า "ทำไมต้องใช้ pip มากกว่า easy_install?" ซึ่งคำตอบข้อใดข้อหนึ่งระบุไว้ว่า: "เหตุผลเดียวที่ฉันรู้ว่าจะใช้ easy_install ในปี 2015 เป็นกรณีพิเศษของการใช้ Python ที่ติดตั้งล่วงหน้าของ Apple รุ่นที่มี OS X 10.5-10.8 "
clearkimura

1
มุ่งเน้นไปที่คำถามคำถามคือ 'ไม่สามารถอัปเกรด pip' และฉันแนะนำวิธีอัปเกรดผ่าน easy_install มันทำงานได้ในเดือนธันวาคม 2015 ใช่ไหม
NamPNQ

สำหรับผู้ downvoters อธิบายว่าทำไมคำตอบนี้จึงถูกลดระดับลงก่อนหน้านี้ ฉันจัดการเพื่อค้นหาความคิดเห็นล่าสุดภายใต้โพสต์นี้ซึ่งอ้างถึงที่นี่: "easy_install -U pip จากคำแนะนำ ByteCommander ทำงานให้ฉัน - แทมปา 1 มิ.ย. เวลา 12:23" มีeasy_installรายงานวิธีการใช้งานสำหรับผู้ใช้บางคน
clearkimura

1
สิ่งนี้ใช้ได้สำหรับฉัน (กับsudo) ก่อนหน้าsudo apt-get install python-pipนี้ให้ฉันpython-pip is already the newest version (8.1.1-2ubuntu0.4)ในขณะที่ 9.0.1 พร้อมใช้งาน แต่ไม่สามารถติดตั้งได้pip install --upgrade pip(ซึ่งทำให้เวอร์ชันไม่เปลี่ยนแปลงที่ 8.1.1) หลังจากeasy_installรุ่นอัพเกรดแล้ว
Kurt Peek

แม้ว่าจะใช้งานได้ แต่จะแทนที่ไฟล์ที่จัดการโดยระบบด้วยpipเวอร์ชันที่ใหม่กว่า การติดตั้งpython-pipแพคเกจใหม่จะแทนที่ไฟล์อีกครั้ง รหัสอื่นที่อาศัยเวอร์ชันของแพคเกจที่มีอยู่และถูกต้องอาจผิดพลาดได้ (โอกาสเล็กน้อย แต่ไม่เป็นศูนย์) และeasy_installสามารถเพิ่มไฟล์พิเศษที่ไม่ถูกลบเมื่อทำการอัพเกรดpython-pipเป็นเวอร์ชั่นใหม่ในอนาคตซึ่งอาจรบกวนและทำลายสิ่งต่าง ๆ
Martijn Pieters

7

ฉันมีปัญหาเดียวกันเป็นเวลานานและหาวิธีแก้ปัญหาในวันนี้ เมื่อคุณติดตั้ง pip ผ่าน python-pip คุณจะดาวน์โหลดจากเซิร์ฟเวอร์ Linux ที่เลิกใช้แล้ว คุณควรดาวน์โหลดจากเซิร์ฟเวอร์หลาม ในการแก้ปัญหานี้ให้ทำดังต่อไปนี้:

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 

1
ขอบคุณที่อธิบายสาเหตุของปัญหา ฉันต้องคิดออกเองก่อนที่จะเลื่อนลงและเห็นคำตอบนี้
G Gordon Worley III

คำสั่งเหล่านี้ (2-3) ไม่ถูกต้อง
Joel G Mathew

@ JoelGMathew ต้องการเพียงแค่คำติดตั้งหลังจากรับฉลาด
nurgasemetey

2

ที่จริงแล้วคุณสามารถแก้ไขสคริปต์ 'pip' ของคุณ:

จากราก:

$ which pip  # -> prints 'pip' location

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

แทนที่__requires__ด้วยเวอร์ชั่น latest pip ของคุณเช่น:

__requires__ = 'pip==7.1.2'

กว่าการแก้ไขบรรทัดด้วยการเรียก 'load_entry_point' ไปที่:

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

และ:

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

นอกจากนี้ฉันต้องอัปเดตแพคเกจsetuptoolsของฉันเพื่อติดตั้งแพคเกจบางอย่าง


2

สิ่งนี้เกิดจากความขัดแย้งระหว่างเวอร์ชันของ pip ที่จัดทำโดยแพ็คเกจระบบเช่นpython-pipและเวอร์ชันที่จัดทำโดย PyPI ผ่าน pip เอง

การแก้ไขปัญหานี้ก็เอาด้วยpython-pipsudo apt-get purge python-pip

หากคุณใช้ pip รุ่นเก่าไปแล้วในการติดตั้งเวอร์ชันที่ใหม่กว่าสิ่งนี้ควรปล่อยให้เป็นเวอร์ชั่นที่อัพเดต/usr/local/binแล้ว หากไม่เป็นเช่นนั้นคุณสามารถติดตั้ง Pip เวอร์ชันล่าสุดได้ตั้งแต่ต้นด้วย:

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


1

ลองใช้sudo -H pip3 install --upgrade pipเพื่ออัปเกรด pip3 ของคุณ (สำหรับ Python 3) ในทางกลับกันคุณสามารถทำการsudo -H pip2 install --upgrade pipอัพเกรด pip ได้เช่นกัน (สำหรับ Python 2)


1

ฉันพบปัญหานี้เมื่อทำงานกับเครื่องระยะไกลที่ฉันต้องการ ฉันเพิ่งติดตั้ง python 3 และไม่สามารถรับ pip เพื่ออัพเกรดได้แม้ว่าฉันจะพยายามอัปเกรดผ่าน pip และ apt-get ก็ตาม

ออกจากระบบของเซิร์ฟเวอร์ระยะไกลและเข้าสู่ระบบในการแก้ไข


0

หากpython-pipติดตั้งจากที่เก็บ apt ด้วย sudo user-run sudo -H install --upgrade pipก็เหมือนกับการติดตั้งโมดูล PIP

นี่คือผลลัพธ์จากคอนโซลของฉันใน 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
:~$ 

ดูที่แฟล็ก -H สำหรับ pip คืออะไร /programming/28619686/what-is-the-h-flag-for-pip


0

ฉันเป็นผู้เริ่มต้นเท่านั้นฉันไม่แน่ใจ แต่อาจเป็นสิ่งที่เกี่ยวข้องกับความแตกต่างระหว่าง python 2 และ 3 ฉันคิดว่าไม่จำเป็นต้องเป็น superuser แต่คุณสามารถทำได้อย่างง่ายดายโดยใช้pip3แทนที่จะpipอัปเกรดด้วยpip: pip3 install --upgrade pip


0

ฉันมีปัญหาคล้ายกันในการอัพเกรด pip 9.0.3 เป็น 18.0

ดังนั้นในการอัพเกรดการถอนการติดตั้งครั้งแรกที่เกิดขึ้นแล้วติดตั้งรุ่นล่าสุด อย่างไรก็ตามฉันพบว่าในครั้งแรกที่คุณพยายามจะแจ้งว่า "ถอนการติดตั้ง pip-9.0.3 สำเร็จแล้ว"

ในความพยายามครั้งต่อไปเราได้รับข้อผิดพลาดเดียวกัน นี่เป็นเพราะถอนการติดตั้ง pip-9.0.3 เช่นเดียวกับคำตอบที่ได้รับการยอมรับฉันติดตั้ง pip ในฐานะผู้ดูแลระบบ windows 10 ของฉันรับเวอร์ชั่นล่าสุดแล้วทุกอย่างก็ดี

หวังว่านี่จะช่วยได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.