pip3 «Ошибка типа: объект« модуль »не вызывается» после обновления


42

Я новичок в Python, я хочу установить Jupyter Notebook в моей консоли, я ввожу следующее:

pip3 install --upgrade pip 

после этого у меня возникает ошибка при использовании pip3, установка другой библиотеки, консоль печати:

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

Я не знаю, что мне делать.

Я использую sudo autoremove python3-pipпосле этого я используюsudo apt install python3-pip


может быть, он импортирует часть вашего файла вместо ожидаемого модуля, и у него есть проблемы с его запуском - это может быть т.е. main.py, Вы пытались использовать pipв другой папке?
фура

1
У меня тоже была такая же ошибка.
Hyrial

Спасибо за начало работы - я перечислил свою процедуру для исправления этой
проблемы

Ответы:


61

По ссылке Брэма я просто побежал python3 -m pip uninstall pip, и она снова заработала.


3
Может кто-нибудь объяснить это?
Саиф Ур Рахман

5
@SaifUrRahman: из предоставленной ссылки кажется, что это конфликт между установкой конкретного пользователя (который устанавливается / обновляется командой OPs) и глобальной установкой pip, предоставляемой операционной системой.
ВЛЗ

5

Решение, которое сработало в моей ситуации, заключается в простом редактировании файла pip3.8 в среде ubuntu.

Method1:

#!/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())

method2:

Основная функция должна быть импортирована или мы можем просто заменить строку

sys.exit(main())

В виде

sys.exit(main.main())

да! спасибо за "метод № 1"!
Ryan Loggerythm

Метод № 2 работал как шарм! Спасибо!!!
Дэвид Обин

Спасибо! Метод № 2 работал для меня. Я нервничаю по этому поводу, потому что боюсь, что это не получится в следующий раз, когда я обновлю /Applications/Xcode.app/Contents/Developer/usr/bin/pip3.
Jetpack


1

Как видно здесь , вы должны быть в состоянии решить эту проблему, запустив модуль из Python напрямую, т.е.

python -m pip install --upgrade pip

1

В Windows отредактируйте C: \ ProgramData \ Anaconda3 \ Scripts \ pip-script.py и замените

# -*- 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())

Замените последнюю строку на sys.exit (main.main ()).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.