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, и она снова заработала.

Hyrial
источник
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())
Google
источник
да! спасибо за "метод № 1"!
Ryan Loggerythm
Метод № 2 работал как шарм! Спасибо!!!
Дэвид Обин
Спасибо! Метод № 2 работал для меня. Я нервничаю по этому поводу, потому что боюсь, что это не получится в следующий раз, когда я обновлю /Applications/Xcode.app/Contents/Developer/usr/bin/pip3.
Jetpack
3

Использовать этот

python -m pip install --upgrade --user [name_of_your_package]

Пурушоттам
источник
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 ()).

Мадду Сваруп
источник