热门标签:
Q:

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

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

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

原网址
A:

pip,setuptools/easy_install的替代品,提供了一个"卸载"命令。

根据安装说明安装pip:

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

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

所有回答

共 12 条

author avatar

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

author avatar

首先,你必须运行这个命令:

$ easy_install -m [PACKAGE]

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

然后删除该包的文件:

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

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

  • 为您的搬迁需要使用:

    pip uninstall <package>
    

    (使用easy_install pip安装)

  • 对于您的"列表安装的软件包"需要使用:

    pip freeze
    

    或:

    yolk -l
    

    从而可以输出更多的包细节。

    (通过easy_install yolkpip install yolk安装)

author avatar

网上有几个来源,建议通过使用-m选项重新安装软件包,然后删除该软件包来进行黑客攻击。lib/中的egg文件和bin/中的二进制文件。 另外,关于这个setuptools问题的讨论可以在python bug跟踪器上找到,作为setuptoolsissue21

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

author avatar

如果问题对您来说是一个足够严重的烦恼,您可以考虑virtualenv。 它允许您创建一个封装python库的环境。 您可以在那里安装软件包,而不是在全局site-packages目录中安装软件包。 您在该环境中运行的任何脚本都可以访问这些包(也可以选择访问全局包)。 在评估我不确定我想要/需要全局安装的软件包时,我经常使用这个。 如果您决定不需要该软件包,那么只需将该虚拟环境吹走就很容易了。 它很容易使用。 创建一个新的env:

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

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

$>ENV/bin/easy_install

您甚至可以创建自己的boostrap脚本来设置新环境。 因此,通过一个命令,您可以创建一个新的虚拟env,例如python2.6,psycopg2和django默认安装(如果您愿意,可以安装特定于env的python版本)。

author avatar

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

如果您已经用另一个版本替换了一个包,那么您可以通过删除PackageName-versioninfo来删除不需要的包。egg文件或目录(在安装目录中找到)。

如果要删除包的当前安装版本(或包的所有版本),应首先运行:

easy_install -mxN PackageName

这将确保Python不会继续搜索您计划删除的包。 完成此操作后,您可以安全地删除.蛋文件或目录,以及您希望删除的任何脚本。

author avatar

试试

$ easy_install -m [PACKAGE]

然后

$ rm -rf .../python2.X/site-packages/[PACKAGE].egg
author avatar

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

author avatar

在尝试卸载随着时间的推移安装的许多随机Python包时,遇到了这个问题。

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

cat package_list | xargs -n1 sudo pip uninstall -y

package_list从virtualenv中的apip freeze清理(awk)。

要删除几乎所有Python包:

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

我在我的MacOS X Leopard10.6上遇到了同样的问题。废话。

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

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

希望这有帮助。

author avatar

对我来说只删除此文件:易于安装。pth,pth 工作,休息pip安装django==1.3.7

author avatar

这对我管用。 它与以前的答案类似,但包的路径不同。

  1. sudo easy_install-m
  2. sudo rm-rf/Library/Python/2.7/site-packages/。鸡蛋

Plaform:MacOS High Sierra版本10.13.3

相似问题