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


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.


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


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.


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

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


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


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.


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>

-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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.