windows环境下, pip更新所有的安装包
import pip
from subprocess import call
packages = [dist.project_name for dist in pip.get_installed_distributions()]
call("pip install --upgrade " + ' '.join(packages), shell=True)
但是有些包更新不了, 单独更新时出现错误
Cannot uninstall 'scikit-learn'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
解决方法: 修改命令pip install -U scikit-learn
为pip install -U --ignore-installed scikit-learn
因此, 更新所有的安装包可修改为
import pip
from subprocess import call
packages = [dist.project_name for dist in pip.get_installed_distributions()]
call("pip install --upgrade --ignore-installed " + ' '.join(packages), shell=True)
如果pip版本过高, 运行会出现错误
AttributeError: module 'pip' has no attribute 'get_installed_distributions'
可以尝试下面这种方法
pip install pip-review
pip-review --local --interactive
其它
更新pip: python -m pip install --upgrade pip