在无法调用更新错误“模块”对象后,pip不再起作用


70

点更新后,点已完全停止工作。

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

有什么帮助吗?

编辑:我正在Windows 10


13
您可以尝试python -m pip install matplotlib报告该错误吗?
han独奏,

10
养成使用习惯python -m pip
han solo


1
@AnnevanRossum运行python -m pip化妆确保pip调用总是与相关的python正在运行
汉·索罗

2
@hansolo还必须发生其他事情。在我的系统上pip失败,而python -m pip成功。这是一个多python系统(以及也pip3成功了python3 -m pip)。我想知道pip是按原样使用,还是使用其他功能PYTHONPATH或其他功能。
安妮·范·罗苏姆

Answers:


81

一切归功于han_solo用户,他将答案留为评论而不是答案:

代替 pip install stdlib_list --user

采用 python -m pip install stdlib_list --user

替换stdlib_listmatplotlib或使用所需名称的软件包。


20
为什么会这样呢?
darkgaze

1
您决定了我的一天:)
Vrushabh Suchak

1
y 但至少您可以设置别名alias pip="python -m pip"(或alias pip="python3 -m pip")。添加到〜/ .bash_aliases或shell的rc文件
FBA的

使用python3 -m pip install stdlib_list --user了python3。pip在这种情况下,模块名称仍然是。
smcg

1
做ü知道如何在Python代码执行上面的命令
马门


6

如果您不想每次都使用long命令python -m pip install <package>,请将pip重新安装到没有此错误的旧版本。

python -m pip install pip==19.0.3

现在,您将能够使用pip install matplotlibpip list正常。

而且,只要该错误得到解决,就可以像以前一样升级pip。



2

习惯于使用python -m使用pip安装任何python软件包,例如,使用以下命令安装numpy

python -m pip安装numpy

如果由于环境许可错误而出错,请在同一命令中附加--user:

python -m pip install numpy --user


1

类似于@han_solo所说的,但是如果您运行的是python3,请使用:

python -m pip install stdlib_list --user

尝试使用:

python3 -m pip install stdlib_list --user


3
Alden,Rather下次只需编辑现有答案并添加即可,python3 -m pip install stdlib_list --user而不是仅添加一个数字即可得到一个全新的答案
Phillip Jacobs

0

我在h5py-2.7.1中遇到了同样的问题,升级到h5py-2.10.0后,警告消失了。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.