首页 文章

如何删除使用Python的easy_install安装的软件包?

提问于
浏览
659

Python的 easy_install 使安装新包非常方便 . 但是,据我所知,它没有实现依赖项管理器的其他常见功能 - 列出和删除已安装的软件包 .

找出已安装的内容的最佳方法是什么,以及删除已安装软件包的首选方法是什么?如果我手动删除包(例如 rm /usr/local/lib/python2.6/dist-packages/my_installed_pkg.egg 或类似内容),是否需要更新任何文件?

13 回答

  • 153

    官方(?)说明:http://peak.telecommunity.com/DevCenter/EasyInstall#uninstalling-packages

    如果您已将软件包替换为其他版本,则只需删除PackageName-versioninfo.egg文件或目录(位于安装目录中)即可删除不需要的软件包 . 如果要删除当前安装的软件包版本(或软件包的所有版本),应首先运行:easy_install -mxN PackageName
    这将确保Python不会继续搜索您计划删除的包 . 完成此操作后,您可以安全地删除.egg文件或目录,以及要删除的任何脚本 .

  • 3

    尝试

    $ easy_install -m [PACKAGE]
    

    然后

    $ rm -rf .../python2.X/site-packages/[PACKAGE].egg
    
  • 602

    要列出已安装的Python包,可以使用 yolk -l . 你首先需要使用 easy_install yolk .

  • 53

    pip,setuptools / easy_install的替代方法,提供"uninstall"命令 .

    根据installation instructions安装pip:

    $ wget https://bootstrap.pypa.io/get-pip.py
    $ python get-pip.py
    

    然后你可以使用 pip uninstall 来删除用 easy_install 安装的软件包

  • 7

    要卸载 .egg ,您需要 rm -rf 蛋(可能是目录)并从 site-packages/easy-install.pth 中删除匹配的行

  • 6

    首先,您必须运行此命令:

    $ easy_install -m [PACKAGE]
    

    它删除了包的所有依赖项 .

    然后删除该包的egg文件:

    $ sudo rm -rf /usr/local/lib/python2.X/site-packages/[PACKAGE].egg
    
  • 3

    所有信息都在其他答案中,但没有一个总结您的请求或似乎使事情变得不必要复杂:

    • 为了您的搬迁需要使用:
    pip uninstall <package>
    

    (使用 easy_install pip 安装)

    • 对于'list installed packages'需要使用:
    pip freeze
    

    要么:

    yolk -l
    

    这可以输出更多的包裹细节 .

    (通过 easy_install yolkpip install yolk 安装)

  • 28

    网上有several个来源暗示通过使用-m选项重新安装软件包然后只删除lib /中的.egg文件和bin /中的二进制文件 . 此外,有关此setuptools问题的讨论可以在python bug跟踪器上找到setuptools issue 21 .

    编辑:添加了python bugtracker的链接 .

  • 25

    如果问题对你来说是一个严重的麻烦,你可能会考虑virtualenv . 它允许您创建一个封装python库的环境 . 您可以在那里而不是在全局site-packages目录中安装软件包 . 您在该环境中运行的任何脚本都可以访问这些包(也可以选择您的全局包) . 在评估我不确定我想要/需要全局安装的软件包时,我经常使用它 . 如果您认为自己不容易将虚拟环境吹走 . 它非常易于使用 . 制作一个新的环境:

    $>virtualenv /path/to/your/new/ENV
    

    virtual_envt会在新环境中为您安装setuptools,因此您可以执行以下操作:

    $>ENV/bin/easy_install
    

    您甚至可以创建自己的boostrap脚本来设置新环境 . 因此,使用一个命令,您可以创建一个新的虚拟环境,例如,默认安装python 2.6,psycopg2和django(如果需要,您可以安装特定于env的特定版本的python) .

  • 184

    遇到这个问题,同时尝试卸载随时间安装的许多随机Python包 .

    使用来自此线程的信息,这就是我想出的:

    cat package_list | xargs -n1 sudo pip uninstall -y
    

    package_list 在virtualenv中从 pip freeze 清理(awk) .

    删除几乎所有Python包:

    yolk -l | cut -f 1 -d " " | grep -v "setuptools|pip|ETC.." | xargs -n1 pip uninstall -y
    
  • 15

    我在我的MacOS X Leopard 10.6.blah上遇到了同样的问题 .

    解决方案是确保您正在调用MacPorts Python:

    sudo port install python26
    sudo port install python_select
    sudo python_select python26
    sudo port install py26-mysql
    

    希望这可以帮助 .

  • 1

    对我来说只删除这个文件:easy-install.pth working,rest pip install django == 1.3.7

  • 18

    这对我有用 . 它类似于以前的答案,但包的路径是不同的 .

    • sudo easy_install -m

    • sudo rm -rf /Library/Python/2.7/site-packages/.egg

    平台:MacOS High Sierra版本10.13.3

相关问题