pip ไม่ทำงานอีกต่อไปหลังจากวัตถุ 'module' ไม่สามารถเรียก call ได้


70

หลังจากอัพเดต pip แล้ว pip หยุดทำงานอย่างสมบูรณ์

Z:\>pip install matplotlib
Traceback (most recent call last):
  File "c:\program files\python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\program files\python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Program Files\Python37\Scripts\pip.exe\__main__.py", line 9, in <module>
TypeError: 'module' object is not callable

ความช่วยเหลือใด ๆ โปรด?

แก้ไข: ฉันทำงานบน windows 10


13
คุณลองpython -m pip install matplotlibและรายงานข้อผิดพลาดกลับมาได้หรือไม่?
ฮันโซโล

10
สร้างนิสัยในการใช้งานpython -m pip
ฮันโซโล

3
ดูเหมือนจะมีปัญหาเกี่ยวกับ19.3 นี้ไม่ทำงานหลังจากอัปเกรดจาก 19.2.3
ฮันโซโล

1
@AnnevanRossum เล่นpython -m pipให้แน่ใจว่าpipเรียกเกี่ยวข้องเสมอกับpythonคุณกำลังทำงาน
ฮันโซโล

2
@ hansolo จะต้องมีสิ่งอื่นที่เกิดขึ้นเช่นกัน ในระบบของฉันpipล้มเหลวในขณะที่python -m pipประสบความสำเร็จ นี่คือระบบหลายหลาม (และpip3ประสบความสำเร็จเช่นเดียวกับpython3 -m pip) ฉันสงสัยว่าpipมีการใช้ตามที่เป็นอยู่มันใช้สิ่งที่แตกต่างPYTHONPATHหรือทำอย่างอื่นที่แตกต่างออกไป
Anne van Rossum

คำตอบ:


81

เครดิตทั้งหมดสำหรับสิ่งนี้ไปที่ผู้ใช้han_soloผู้ที่ทิ้งคำตอบไว้เป็นความคิดเห็นแทนที่จะเป็นคำตอบ:

แทน pip install stdlib_list --user

ใช้ python -m pip install stdlib_list --user

แทนที่stdlib_listด้วยmatplotlibหรือชื่อใด ๆ ของแพ็คเกจที่คุณต้องการ


20
ทำไมสิ่งนี้จึงเกิดขึ้น
darkgaze

1
คุณทำให้วันของฉัน :)
Vrushabh Suchak

1
yuck แต่อย่างน้อยคุณสามารถตั้งชื่อแทนalias pip="python -m pip"(หรือalias pip="python3 -m pip") เพิ่มเข้าไปใน ~ / .bash_aliases หรือไฟล์ shell rc ของคุณ
fbas

ใช้python3 -m pip install stdlib_list --userสำหรับ python3 ชื่อโมดูลยังคงอยู่pipในกรณีนี้
smcg

1
คุณรู้วิธีดำเนินการคำสั่งด้านบนในรหัสไพ ธ อนหรือเปล่า
Mamen

14

ฉันมีปัญหาแบบเดียวกับคุณและฉันแก้ไขมันได้ด้วยการถอนการติดตั้ง pip และติดตั้งอีกครั้ง

ในการถอนการติดตั้ง: python -m pip pip uninstall uninstall

หากต้องการติดตั้งให้ทำตามคำแนะนำ: https://www.liquidweb.com/kb/install-pip-windows/

หลังจากนั้นคุณจะมีเวอร์ชั่น 19.0.3 ที่เก่ากว่า แต่ใช้งานได้


6

หากคุณไม่ต้องการใช้คำสั่งแบบยาวทุกครั้งpython -m pip install <package>ให้ติดตั้ง pip ไปยังเวอร์ชั่นเก่ากว่าโดยที่ไม่มีข้อผิดพลาดนี้

python -m pip install pip==19.0.3

ตอนนี้คุณจะสามารถใช้งานpip install matplotlibหรือpip listตามปกติ

และเมื่อใดก็ตามที่ข้อผิดพลาดได้รับการแก้ไขให้อัพเกรด pip อย่างที่คุณเคยทำมาก่อน


4

สิ่งนี้ใช้ได้สำหรับฉันถอนการติดตั้ง pip 19.3.1 และแทนที่ด้วย 19.0.3 ข้อผิดพลาดหายไป

python -m pip install pip==19.0.3 --user

2

มีนิสัยในการติดตั้งแพ็กเกจหลามที่มี pip โดยใช้python -m , สำหรับการติดตั้งคำสั่งnumpy use ด้านล่าง:

python -m pip ติดตั้งเป็นจำนวนมาก

ในกรณีที่มันเกิดข้อผิดพลาดกับข้อผิดพลาดของการอนุญาตให้ผนวก --user ในคำสั่งเดียวกัน:

python -m pip ติดตั้งจำนวน--user


1

คล้ายกับสิ่งที่ @han_solo พูด แต่ถ้าคุณใช้ python3 แทนที่จะใช้:

python -m pip install stdlib_list --user

ลองใช้:

python3 -m pip install stdlib_list --user


3
Alden แต่ครั้งต่อไปเพียงแค่แก้ไขคำตอบที่มีอยู่และเพิ่มpython3 -m pip install stdlib_list --userแทนการมีคำตอบใหม่ทั้งหมดเพียงเพื่อเพิ่มจำนวน
Phillip Jacobs

0

ฉันมีปัญหาเดียวกันกับ h5py-2.7.1 และคำเตือนหายไปหลังจากอัปเกรดเป็น h5py-2.10.0


0

ฉันยังไม่สามารถออกความคิดเห็นได้ดังนั้นฉันจึงตัดสินใจที่จะทิ้งลิงค์พร้อมคำอธิบายว่าทำไมสิ่งนี้ถึงเกิดขึ้นได้: https://github.com/pypa/pip/issues/5599

หากเป็นกรณีนี้คุณสามารถลองแก้ไขได้ด้วยการลดรุ่น pip ด้วยคำสั่งต่อไปนี้:

 python -m pip install pip==<previous version>

-1

มีปัญหาเดียวกัน ฉันจัดการเพื่อแก้ไขได้โดยติดตั้ง pip ในสถานที่โดยใช้คำตอบอื่น ๆ :

python -m pip install -U --force-reinstall pip

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