当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何删除使用Python的easy_install安装的软件包?》经验,为你挑选了10个好方法。

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

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



1> lunaryorn..:

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

根据安装说明安装pip :

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

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


如果您在使用pip卸载模块时遇到问题,请确保您的pip安装本身是最新的:pip install -U pip#这是一个大写的U
我使用easy_install来安装pip来卸载easy_install安装.
pip为我工作卸载了一个easy_install安装包.我不得不多次运行'pip uninstall '来删除所有版本的软件包.所以记住这一点.它甚至删除了一个"开发"安装包,结果这是一个混乱.
但是你如何删除非活动包
答案是"安装点",但**实际上pip似乎是用现代Python**内置的.

2> joeforker..:

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


较新的`pip`包管理器包含卸载功能.
一些使用是坚持使用没有卸载选项的旧版本的pip,所以这个答案仍然有价值.
可能值得一提的是,这种方法可能会在系统上留下流浪的`data_files`和`scripts`(以及可能的其他文件类别).egg的'EGG-INFO/SOURCES.txt`包含所有`package`文件和`sources`的列表,但不包含`data_files`,它可以安装到系统的任意目录中......

3> PythonDev..:

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

$ easy_install -m [PACKAGE]

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

然后删除该包的egg文件:

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



4> Rabarberski..:

所有的信息在其他的答案,但没有总结两者的请求,或者似乎使事情不必要的复杂性:

为了您的删除需要使用:

pip uninstall 

(安装使用easy_install pip)

对于'list installed packages'需要使用:

pip freeze

要么:

yolk -l

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

(通过easy_install yolk或安装pip install yolk)


很好,除了我要卸载easy_install安装的pip。这是因为它最终为错误的Python版本安装了它。

5> c089..:

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

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


感谢您提供此信息.对于其他人的参考,这里是您提到的问题的链接:http://bugs.python.org/setuptools/issue21

6> mazelife..:

如果问题对你来说是一个严重的麻烦,你可能会考虑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).



7> Mark Rajcok..:

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

如果您已将软件包替换为其他版本,则只需删除PackageName-versioninfo.egg文件或目录(位于安装目录中)即可删除不需要的软件包.

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

easy_install -mxN PackageName

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



8> 小智..:

尝试

$ easy_install -m [PACKAGE]

然后

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



9> Enis Afgan..:

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



10> 小智..:

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

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

cat package_list | xargs -n1 sudo pip uninstall -y

package_list从清理(AWK)pip freeze中的virtualenv.

删除几乎所有Python包:

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

推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有