1.环境
系统:win10
Python版本:3.7
2.问题描述
在更新pip至19.3.1版本后,使用pip时出现如下错误:
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 "pip.exe\__main__.py", line 9, in <module>
TypeError: 'module' object is not callable
根据错误提示描述,是runpy.py和__main__.py两个文件出现了错误。
3.解决方法
(1)通过拿朋友的runpy.py和__main__.py文件进行比对,没有在错误提示行找到不同,也许是其他行错误导致的,排查起来太麻烦,考虑其他方法。
(2)尝试升级pip
输入:
python -m pip install --upgrade pip
运行结果:
Requirement already up-to-date: pip in c:\users\xue\appdata\roaming\python\python37\site-packages (19.3.1)
说明已经是最新版本,无法升级。
(3)卸载重装
输入:
python -m pip uninstall pip
然后输入y确认,成功卸载pip。
重新安装,输入:
python -m pip install --user --upgrade pip
提示安装成功。
输入:pip,测试pip是否可用,测试失败,pip依然不可用。
(4)版本降级
pip当前版本为19.3.1,把它降级成18.0版本,输入:
python -m pip install pip==18.0
①如果出现"Read timed out."字样说明连接超时,改输入为:
python -m pip --default-timeout=100 install pip==18.0
②如果提示"Consider using the `--user` option or check the permissions."字样,改输入为:
python -m pip install --user pip==18.0
注:必要时可用将①②两种方法结合使用。
降级完成后,输入:
pip -V
查看pip版本等级,确认为18.0
然后输入:pip,发现pip已经恢复可用了。
4.总结
(1)版本降级方法可用解决问题
(2)在使用修改runpy.py和__main__.py文件方法时,我尝试用朋友的runpy.py文件和Scripts目录下的pip文件替换我的文件,结果导致在控制台输入pip时,出现
Fatal error in launcher: Unable to create process using '"d:\program files\python\python.exe" "E:\Python3.7\Scripts\pip.exe" '
解决方法是,将c盘里python目录中的相应文件复制替换。