Pip3 Kiểu TypeError: đối tượng 'mô-đun' không thể gọi được sau khi cập nhật


42

Tôi là người mới trong Python, tôi muốn cài đặt Jupyter Notebook trong bảng điều khiển của mình, tôi nhập như sau:

pip3 install --upgrade pip 

Sau đó, tôi gặp lỗi khi sử dụng pip3 cài đặt thư viện khác, bảng điều khiển in:

File "/usr/bin/pip3", line 11, in <module>
    sys.exit(main())
TypeError: 'module' object is not callable

Tôi không biết mình phải làm gì.

Tôi sử dụng sudo autoremove python3-pipsau đó tôi sử dụngsudo apt install python3-pip


có thể nó nhập một số tệp của bạn thay vì mô-đun dự kiến ​​và nó có vấn đề để chạy nó - nó có thể là như vậy. main.py. Bạn đã thử sử dụng piptrong thư mục khác nhau?
furas

1
Tôi cũng có lỗi tương tự.
Hyrial

Cảm ơn vì đã giúp tôi bắt đầu - Tôi đã liệt kê quy trình sửa lỗi này trên stackoverflow.com/questions/34573159/
mẹo

Câu trả lời:


61

Từ liên kết của Bram, tôi mới chạy python3 -m pip uninstall pipvà nó bắt đầu hoạt động trở lại.


3
Ai đó có thể giải thích điều này?
Saif Ur Rahman

5
@SaifUrRahman: Từ liên kết được cung cấp, có vẻ như đây là xung đột giữa cài đặt pip cụ thể của người dùng (được cài đặt / nâng cấp bởi lệnh OP) và cài đặt pip toàn cầu do hệ điều hành cung cấp.
vlz

5

Giải pháp hiệu quả cho tình huống của tôi chỉ đơn giản là chỉnh sửa tệp pip3.8 trong môi trường ubfox.

Phương pháp 1:

#!/path/to/.venv/bin/python3
# -*- coding: utf-8 -*-
import re
import sys

from pip._internal.main import main  # <--- look at this import statement! 

if __name__ == '__main__':
     sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
     sys.exit(main())

phương thức 2:

Chức năng chính phải được nhập hoặc đơn giản là chúng ta có thể thay thế dòng

sys.exit(main())

Như

sys.exit(main.main())

Đúng! cảm ơn bạn vì "phương pháp số 1"!
Ryan Loggery nhịp

phương pháp số 2 làm việc như một cơ duyên! Cảm ơn!!!
David Aubin

Cảm ơn! phương pháp # 2 làm việc cho tôi. Tôi lo lắng về điều đó, vì tôi sợ nó sẽ thất bại vào lần tới khi tôi cập nhật /Appluggest/Xcode.app/Contents/Developer/usr/bin/pip3.
Jetpack

3

Dùng cái này

cài đặt pip python -m - nâng cấp --user [name_of_your_package]


1

Như đã thấy ở đây , bạn sẽ có thể giải quyết điều này bằng cách chạy mô-đun từ Python trực tiếp, tức là

python -m pip install --upgrade pip

1

Trong Windows chỉnh sửa C: \ ProgramData \ Anaconda3 \ Sc scripts \ pip-script.py và thay thế

# -*- coding: utf-8 -*-
import re
import sys
from pip._internal import main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

Thay thế dòng cuối cùng bằng sys.exit (main.main ()).

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.