美文网首页效率
pip更新所有的包

pip更新所有的包

作者: wangke | 来源:发表于2018-05-13 14:25 被阅读1296次

    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-learnpip 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

    相关文章

      网友评论

        本文标题:pip更新所有的包

        本文链接:https://www.haomeiwen.com/subject/pirldftx.html