Pip không còn hoạt động sau khi cập nhật lỗi 'mô-đun' đối tượng không thể gọi được


70

Sau khi cập nhật pip, pip đã ngừng hoạt động hoàn toàn.

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

Có ai giúp đỡ không?

Chỉnh sửa: Tôi đang làm việc trên windows 10


13
Bạn có thể thử python -m pip install matplotlibvà báo cáo lại lỗi không?
han solo

10
Tạo thói quen sử dụngpython -m pip
han solo

3
Dường như có một vấn đề liên quan đến 19.3 này không hoạt động sau khi nâng cấp từ 19.2.3
han solo

1
@AnnevanRossum Chạy python -m pipđảm bảo rằng lệnh pipđược gọi luôn được liên kết với pythonbạn đang chạy
han solo

2
@hansolo Phải có một cái gì đó khác xảy ra là tốt. Trên hệ thống của tôi pipthất bại, trong khi python -m pipthành công. Đây là một hệ thống nhiều python (và cũng pip3thành công python3 -m pip). Tôi đã tự hỏi nếu pipđược sử dụng như là, nó sử dụng một cái khác PYTHONPATHhoặc làm một cái gì đó khác.
Anne van Rossum

Câu trả lời:


81

Tất cả tín dụng cho việc này thuộc về người dùng han_solo , người đã để lại câu trả lời dưới dạng nhận xét, thay vì dưới dạng câu trả lời:

Thay vì pip install stdlib_list --user

sử dụng python -m pip install stdlib_list --user

Thay thế stdlib_listbằng matplotlibhoặc bất cứ tên nào của gói bạn muốn.


20
Tại sao chuyện này đang xảy ra?
bóng tối

1
Bạn đã làm cho ngày của tôi :)
Vrushabh suchak

1
kinh quá. nhưng ít nhất bạn có thể đặt bí danh alias pip="python -m pip"(hoặc alias pip="python3 -m pip"). thêm nó vào ~ / .bash_aliases hoặc tệp RC shell của bạn
fbas

sử dụng python3 -m pip install stdlib_list --usercho python3. tên mô-đun vẫn còn pipcho trường hợp này.
smcg

1
Bạn có biết cách thực hiện lệnh trên trong mã python
Mamen

14

Tôi cũng gặp vấn đề tương tự như bạn và tôi đã giải quyết vấn đề gỡ cài đặt pip và cài đặt lại.

Để gỡ cài đặt: python -m pip gỡ cài đặt pip

Để cài đặt, hãy làm theo hướng dẫn: https : //www.l Liquidweb.com/kb/install-pip-windows/

Sau đó, bạn sẽ có một phiên bản 19.0.3 cũ hơn nhưng đầy đủ chức năng.


6

Nếu bạn không muốn sử dụng lệnh dài mỗi lần python -m pip install <package>, hãy cài đặt lại pip cho phiên bản cũ hơn mà lỗi này không có ở đó.

python -m pip install pip==19.0.3

Bây giờ bạn sẽ có thể sử dụng pip install matplotlibhoặc pip listbình thường.

Và bất cứ khi nào lỗi được giải quyết, hãy nâng cấp pip như bạn đã làm trước đây.


4

Điều này làm việc cho tôi, gỡ cài đặt pip 19.3.1 và thay thế bằng 19.0.3, lỗi không còn nữa.

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

2

Có thói quen cài đặt bất kỳ gói python nào với pip bằng python -m , giả sử để cài đặt numpy sử dụng lệnh dưới đây:

python -m pip cài đặt numpy

Trong trường hợp nếu nó bị lỗi với lỗi cấp phép môi trường, hãy thêm --user trong cùng một lệnh:

python -m pip cài đặt numpy --user


1

Tương tự như những gì @han_solo đã nói, nhưng nếu bạn chạy python3, thay vì sử dụng:

python -m pip install stdlib_list --user

thử sử dụng:

python3 -m pip install stdlib_list --user


3
Alden, Thay vào đó, lần tới chỉ cần chỉnh sửa câu trả lời hiện có và thêm python3 -m pip install stdlib_list --userthay vì có một câu trả lời hoàn toàn mới chỉ để thêm một số
Phillip Jacobs

0

Tôi gặp vấn đề tương tự với h5py-2.7.1 và các cảnh báo đã biến mất sau khi nâng cấp lên h5py-2.10.0.


0

Tôi chưa thể để lại nhận xét, do đó tôi đã quyết định để lại một liên kết với lời giải thích tại sao điều này có thể xảy ra: https://github.com/pypa/pip/issues/5599

Nếu đây là trường hợp bạn có thể cố gắng sửa nó bằng cách hạ cấp phiên bản pip bằng lệnh sau:

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

-1

Có cùng một vấn đề. Tôi đã cố gắng khắc phục bằng cách cài đặt lại pip tại chỗ, sử dụng kết hợp các câu trả lời khác:

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

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.