pip3 “TypeError: o objeto 'module' não pode ser chamado” após a atualização

42

Eu sou novo em Python, quero instalar o Jupyter Notebook no meu console e digito o seguinte:

pip3 install --upgrade pip 

depois disso, tenho um erro ao usar o pip3 instalar outra biblioteca, o console imprime:

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

Não sei o que tenho que fazer.

Eu uso sudo autoremove python3-pipdepois que eu usosudo apt install python3-pip

Israel Obando Cisneros
fonte
talvez ele importe parte do seu arquivo em vez do módulo esperado e tenha problemas para executá-lo - pode ser, por exemplo. main.py. Você tentou usar pipem uma pasta diferente?
furas
11
Eu também tive o mesmo erro.
Hyrial
Obrigado por me
ajudar a

Respostas:

61

No link de Bram, eu apenas corri python3 -m pip uninstall pipe ele começou a funcionar novamente.

Hyrial
fonte
3
Alguém pode explicar isso?
Saif Ur Rahman
5
@SaifUrRahman: Pelo link fornecido, parece que há um conflito entre uma instalação de pip específica do usuário (que é instalada / atualizada pelo comando OPs) e a instalação global de pip fornecida pelo sistema operacional.
VLZ
5

A solução que funcionou para a minha situação é simplesmente editar o arquivo pip3.8 no ambiente do ubuntu.

Método 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())

method2:

A função principal deve ser importada ou podemos simplesmente substituir a linha

sys.exit(main())

Como

sys.exit(main.main())
Google
fonte
sim! obrigado pelo "método # 1"!
Ryan Loggerythm
método # 2 funcionou como um encanto! Obrigado!!!
David Aubin
Obrigado! o método 2 funcionou para mim. Estou nervoso com isso, porque temo que falhe na próxima vez que atualizar /Applications/Xcode.app/Contents/Developer/usr/bin/pip3.
Jetpack
3

Usa isto

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

Purushottam
fonte
1

Como visto aqui , você deve conseguir resolver isso executando o módulo diretamente do Python, ou seja,

python -m pip install --upgrade pip
Bram Vanroy
fonte
1

No Windows, edite C: \ ProgramData \ Anaconda3 \ Scripts \ pip-script.py e substitua

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

Substitua a última linha por sys.exit (main.main ()).

Maddu Swaroop
fonte