O pip não funciona mais depois que o objeto 'module' do erro de atualização não pode ser chamado

70

Após uma atualização do pip, o pip parou de funcionar completamente.

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

Alguma ajuda por favor?

Edit: Estou trabalhando no Windows 10

Agustin
fonte
13
Você poderia tentar python -m pip install matplotlibrelatar o erro?
Han Solo
10
Crie o hábito de usarpython -m pip
han solo
3
Parece haver um problema em relação a este 19.3 não funciona após a atualização de 19.2.3
Han Solo
11
@AnnevanRossum Correndo python -m pipmake certeza que pipinvocado é sempre associado com o pythonque você está correndo
Han Solo
2
@hansolo Deve haver algo mais acontecendo também. No meu sistema pipfalha, enquanto python -m pipobtém êxito. Este é um sistema multi-python (e também pip3é bem-sucedido python3 -m pip). Eu queria saber se pipfoi usado como é, ele usa um diferente PYTHONPATHou faz outra coisa diferente.
Anne van Rossum

Respostas:

81

Todo o crédito por isso vai para o usuário han_solo , que deixou a resposta como comentário, em vez de como resposta:

Ao invés de pip install stdlib_list --user

usar python -m pip install stdlib_list --user

Substitua stdlib_listpor matplotlibou qualquer que seja o nome do pacote que você deseja.

Palito Anêmona
fonte
20
Por que isso está acontecendo?
darkgaze
11
Você fez o meu dia :)
Vrushabh Suchak
11
que nojo. mas pelo menos você pode definir um alias alias pip="python -m pip"(ou alias pip="python3 -m pip"). adicione isso ao ~ / .bash_aliases ou ao seu arquivo shell rc
fbas 26/11/19
use python3 -m pip install stdlib_list --userpara python3. O nome do módulo ainda é pippara este caso.
smcg 9/01
11
você sabe como executar o comando acima no código python
Mamen 16/01
14

Eu tive o mesmo problema que você e resolvi desinstalar o pip e instalar novamente.

Para desinstalar: python -m pip uninstall pip

Para instalar, siga as instruções: https://www.liquidweb.com/kb/install-pip-windows/

Depois disso, você terá uma versão mais antiga mas funcional 19.0.3.

rdemarqui
fonte
6

Se você não deseja usar o comando long todas as vezes python -m pip install <package>, reinstale o pip para a versão mais antiga em que esse erro não existia.

python -m pip install pip==19.0.3

Agora você poderá usar pip install matplotlibou pip listnormalmente.

E sempre que o bug for resolvido, atualize o pip como você fez antes.

mudit
fonte
4

Isso funcionou para mim, desinstale o pip 19.3.1 e substitua pelo 19.0.3, sem erro.

python -m pip install pip==19.0.3 --user
Camilo Caquimbo
fonte
2

Tenha o hábito de instalar qualquer pacote python com pip usando python -m , por exemplo, para instalar o comando numpy use below:

python -m pip install numpy

Caso isso aconteça com o erro de permissão do ambiente, adicione --user no mesmo comando:

python -m pip install numpy --user

Piyush Upadhyay
fonte
1

Semelhante ao que o @han_solo disse, mas se você estiver executando o python3, em vez de usar:

python -m pip install stdlib_list --user

tente usar:

python3 -m pip install stdlib_list --user

Alden DelVecchio
fonte
3
Alden, em vez próxima vez basta editar a resposta existente e adicionar python3 -m pip install stdlib_list --userem vez de ter uma resposta totalmente novo apenas para adicionar um número
Phillip Jacobs
0

Eu tive o mesmo problema com o h5py-2.7.1 e os avisos desapareceram após a atualização para o h5py-2.10.0.

Ashkan
fonte
0

Ainda não posso deixar os comentários, por isso decidi deixar um link com uma explicação de por que isso pode acontecer: https://github.com/pypa/pip/issues/5599

Se for esse o caso, você pode tentar corrigi-lo fazendo o downgrade da versão do pip com o seguinte comando:

 python -m pip install pip==<previous version>
Dmitry Amelin
fonte
-1

Teve o mesmo problema. Eu consegui corrigi-lo reinstalando o pip no lugar, usando as outras respostas combinadas:

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

Michal Sylwester
fonte