Python3 pip3 ติดตั้งใช้งานไม่ได้บน Ubuntu


14

ฉันติดตั้ง python3 และ pip3 เรียบร้อยแล้วบน Ubuntu16.04 ของฉัน แต่การติดตั้ง pip3 ใช้งานไม่ได้ ฉันจะแก้ไขปัญหานี้ได้อย่างไร ข้อมูลข้อผิดพลาดของpip3 installมีดังนี้:

# pip3 install xlwt
Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
  from pip import main
File "/usr/lib/python3/dist-packages/pip/__init__.py", line 21, in <module>
  from pip._vendor.requests.packages.urllib3.exceptions import DependencyWarning
ModuleNotFoundError: No module named 'pip._vendor.requests'

ผลผลิตของ sudo -H pip3 install --upgrade pip

sudo -H pip3 install --upgrade pip  
Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
  from pip import main
File "/usr/lib/python3/dist-packages/pip/__init__.py", line 21, in <module>
  from pip._vendor.requests.packages.urllib3.exceptions import DependencyWarning
ModuleNotFoundError: No module named 'pip._vendor.requests'

ผลลัพธ์ของwhich pip3และpip3 --version:

# which pip3
/usr/bin/pip3

# pip3 --version
Traceback (most recent call last):
  File "/usr/bin/pip3", line 9, in <module>
    from pip import main
  File "/usr/lib/python3/dist-packages/pip/__init__.py", line 21, in <module>
    from pip._vendor.requests.packages.urllib3.exceptions import DependencyWarning
ModuleNotFoundError: No module named 'pip._vendor.requests'

PS Python2 ทำงานได้สำเร็จ ผลลัพธ์ของ "pip ที่" และ "pip --version":

# which pip
/usr/bin/pip

# pip --version
pip 1.5.4 from /usr/local/lib/python2.7/dist-packages/pip-1.5.4-py2.7.egg (python 2.7)

และข้อมูลการติดตั้ง python และ python3:

# which python
/usr/bin/python
# which python3
/usr/bin/python3

# python -V
Python 2.7.14
# python3 -V
Python 3.6.3  

คุณพูดว่า 16.04 ในโพสต์ของคุณ แต่ใช้แท็ก 14.04 เวอร์ชันใดถูกต้อง?
edwinksl

1
16.04 ถูกต้อง ฉันไม่พบแท็ก 16.04 ในขณะนี้ ขอโทษ
mlpy

คำตอบ:


12

มีบางอย่างผิดปกติกับ pip3 ของคุณดังนั้นให้ลบออกแล้วติดตั้งใหม่ เปิดเทอร์มินัลแล้วพิมพ์:

sudo apt purge python3-pip  
sudo rm -rf '/usr/lib/python3/dist-packages/pip'  
sudo apt install python3-pip   
cd
cd .local/lib/python3/site-packages
sudo rm -rf pip*  
cd
cd .local/lib/python3.5/site-packages
sudo rm -rf pip*  
python3 -m pip install --user xlwt

3
ฉันพยายาม แต่ยังคงเป็นข้อผิดพลาดเดียวกัน: imgur.com/a/nAdqU
mlpy

ฉันลองใช้โซลูชันใหม่ แต่ยังคงมีข้อผิดพลาดเดียวกัน
mlpy

ฉันมีปัญหาเดียวกันด้วย เมื่อฉันทำsudo apt install python3-pipฉันได้รับข้อผิดพลาดต่อไปนี้:The following packages have unmet dependencies: python3-pip : Depends: python-pip-whl (= 8.1.1-2) but 8.1.1-2ubuntu0.4 is to be installed Recommends: build-essential but it is not going to be installed Recommends: python3-dev (>= 3.2) but it is not going to be installed Recommends: python3-wheel but it is not going to be installed E: Unable to correct problems, you have held broken packages.
Kristada673

@ Kristada673 ลองอ่านคำตอบของคำถามนี้: askubuntu.com/questions/363200/... คำตอบของ DragonLord นั้นใช้ได้สำหรับฉัน
karel

6

การติดตั้งแพ็คเกจ python3-pip สร้างสคริปต์ python ในไฟล์ / usr / bin / pip3 ในการเรียกใช้ฟังก์ชัน main () จะต้องนำเข้าจากโมดูล pip ( from pip import main) พา ธ เมธอดนี้ใช้ได้สำหรับเวอร์ชัน pip แบบแพ็กเท่านั้น (9.0.1 ในกรณีของฉัน)

หลังจากทำงานpip3 install --upgrade pipรุ่น pip กลายเป็น 18.1 และหลัก () pip._internalได้รับการย้ายเข้ามาอยู่

ใช้คำสั่งpython3 -m pip --versionเพื่อดูว่ากรณีของคุณสอดคล้องกับสถานการณ์เดียวกันหรือไม่ (pip3 ยังมีให้ใช้ในวิธีนี้เมื่อใช้งาน/usr/bin/pip3ไม่ได้)

หากเป็นเช่นนั้นในไฟล์ / usr / bin / pip3 ให้แทนที่บรรทัด 9: from pip import main ด้วย: from pip._internal import main

ปัญหาจะได้รับการแก้ไข (ทดสอบกับการกระจาย Ubuntu 18.04)


หลังจากที่ฉันเปลี่ยนการนำเข้าข้อผิดพลาดอื่น ๆ ก็ปรากฏขึ้นFile "/usr/bin/pip3", line 11, in <module> sys.exit(main()) TypeError: 'module' object is not callable
มิแรนดา

2

นี่คือสิ่งที่ฉันพบว่ามีประโยชน์:

  1. sudo rm -rf /usr/local/lib/python3.5/dist-packages
  2. ไม่เคยทำงานภายในpip3sudo

ในขณะที่อาจแก้ไขสิ่งต่าง ๆ คุณช่วยขยายคำตอบของคุณได้ไหม? เหตุใดจึงต้องลบไดเรกทอรีนี้ (อาจเพิ่มข้อแม้เกี่ยวกับpython3.5เส้นทาง) ทำไมจึงไม่เรียกใช้ด้วย sudo และอื่น ๆ ..
Robert Riedl

ฉันไม่ใช่ผู้เชี่ยวชาญในเรื่องนี้ - ฉันแค่อยากจะแบ่งปันสิ่งที่ได้ผลกับฉัน
Jan Lachnitt


1

ก่อนลบ pip3 ที่เสียหาย:

rm /user/bin/pip3 /user/local/bin/pip3

ติดตั้งใหม่:

sudo apt-get remove python3-pip
sudo apt-get install python3-pip

0

มีปัญหาเดียวกันการติดตั้ง openssl แก้ไขให้ฉันด้วย


แต่ OpenSSL แล้วติดตั้งบน Ubuntu ฉัน: imgur.com/a/60kIM อาจเกิดจากสาเหตุอื่น
mlpy

0

ดังที่ @Vincent H. ได้กล่าวถึงฉันพบปัญหาเดียวกัน

Traceback (การโทรล่าสุดครั้งล่าสุด): ไฟล์ "/home/ashish/.local/bin/pip3", บรรทัด 7, จาก pip._internal import main ImportError: ไม่มีโมดูลชื่อ 'pip._internal'

การแก้ไขปัญหาคือการเปลี่ยนpip._internalไปpipในด้วยการทำ.local/bin/pip3sudo gedit .local/bin/pip3


0

นี่เป็นปัญหา แต่คุณสามารถแก้ไขได้

rm /user/bin/pip3 /user/local/bin/pip
sudo apt-get remove python-pip

กว่าติดตั้งใหม่

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