pip升級或重新安裝後,使用pip命令時出現一下報錯內容:
Traceback (most recent call last):
File "D:\kdongyi\ProgramSoftware\Anaconda3\Scripts\pip-script.py", line 10, in <module>
sys.exit(main())
TypeError: 'module' object is not callable
錯誤原因:
pip升級或安裝時出現錯誤,導致pip-script.py文件中未指定當前安裝的pip版本信息(或者乾脆就是缺失此文件),錯誤的pip-script.py文件如下:
# -*- 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())
解決方法:
- 在你的Python或者Anaconda安裝路徑裏找到Scripts文件夾,將裏面的pip-script.py文件刪除,如下圖
之後你在命令行輸入pip命令(如輸入pip list),會出現找不到pip-script.py文件的提示,如下圖:
- 接着,用管理員權限打開PowerShell或者CMD,在命令行輸入:
easy_install pip
注意:如果出現easy_install pip執行錯誤,請將整個Python安裝的文件夾賦予完全控制權限
命令執行完畢後,會在Scripts文件夾裏自動生成一個新的pip-script.py文件,內容如下:
#!d:\kdongyi\programsoftware\anaconda3\python.exe
# EASY-INSTALL-ENTRY-SCRIPT: 'pip==19.3.1','console_scripts','pip'
__requires__ = 'pip==19.3.1'
import re
import sys
from pkg_resources import load_entry_point
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(
load_entry_point('pip==19.3.1', 'console_scripts', 'pip')()
)
至此,pip就修復完畢了,重新打開命令行,執行以下pip list命令:
覺得有用留下你的贊吧^_^