问题:如何删除使用Python的easy_install安装的软件包?
Python easy_install
使安装新软件包非常方便。但是,据我所知,它没有实现依赖项管理器的其他常见功能-列出和删除已安装的软件包。
找出已安装的软件包的最佳方法是什么,以及删除已安装软件包的首选方法是什么?如果我手动(例如,通过rm /usr/local/lib/python2.6/dist-packages/my_installed_pkg.egg
类似方式)删除软件包,是否需要更新任何文件?
回答 0
pip是setuptools / easy_install的替代产品,提供了“卸载”命令。
根据安装说明安装pip :
$ wget https://bootstrap.pypa.io/get-pip.py
$ python get-pip.py
然后,您可以使用pip uninstall
删除与easy_install
回答 1
要卸载,.egg
您需要rm -rf
鸡蛋(可能是目录)并从中删除匹配的行site-packages/easy-install.pth
回答 2
首先,您必须运行以下命令:
$ easy_install -m [PACKAGE]
它删除了程序包的所有依赖项。
然后删除该包装的鸡蛋文件:
$ sudo rm -rf /usr/local/lib/python2.X/site-packages/[PACKAGE].egg
回答 3
所有的信息在其他的答案,但没有总结两者的请求,或者似乎使事情不必要的复杂性:
对于您的搬迁需求,请使用:
pip uninstall <package>
(使用安装
easy_install pip
)对于“列出已安装的软件包”,需要使用以下任一方法:
pip freeze
要么:
yolk -l
可以输出更多包装详细信息。
(通过
easy_install yolk
或安装pip install yolk
)
回答 4
网上有多个消息源建议通过使用-m选项重新安装软件包,然后仅删除lib /中的.egg文件和bin /中的二进制文件来破解。另外,可以在python bug跟踪器上找到有关setuptools问题的讨论,名称为setuptools issue 21。
编辑:将链接添加到python bugtracker。
回答 5
如果问题严重困扰您,您可以考虑使用virtualenv。它允许您创建一个封装python库的环境。您在此处而不是在全局site-packages目录中安装软件包。您在该环境中运行的所有脚本都可以访问这些程序包(也可以选择全局程序包)。在评估不确定/是否需要全局安装的软件包时,我经常使用此工具。如果您决定不需要该软件包,那么将虚拟环境吹走就很容易了。它很容易使用。制作一个新的环境:
$>virtualenv /path/to/your/new/ENV
virtual_envt在新环境中为您安装setuptools,因此您可以执行以下操作:
$>ENV/bin/easy_install
您甚至可以创建自己的boostrap脚本来设置新环境。因此,使用一个命令,您可以创建一个新的虚拟环境,例如默认安装了python 2.6,psycopg2和django(如果需要,您可以安装特定于环境的python版本)。
回答 6
官方说明?:http : //peak.telecommunity.com/DevCenter/EasyInstall#uninstalling-packages
如果您用其他版本替换了软件包,则可以通过删除PackageName-versioninfo.egg文件或目录(位于安装目录中)来删除不需要的软件包。
如果要删除软件包的当前安装版本(或软件包的所有版本),则应首先运行:
easy_install -mxN PackageName
这样可以确保Python不会继续搜索您打算删除的软件包。完成此操作后,您可以安全地删除.egg文件或目录以及要删除的所有脚本。
回答 7
尝试
$ easy_install -m [PACKAGE]
然后
$ rm -rf .../python2.X/site-packages/[PACKAGE].egg
回答 8
要列出已安装的Python软件包,可以使用yolk -l
。不过,您需要先使用easy_install yolk
。
回答 9
在尝试卸载随时间推移而安装的许多随机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
回答 10
我在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
希望这可以帮助。
回答 11
对我而言,仅删除此文件:easy-install.pth有效,其余pip install django == 1.3.7
回答 12
这对我有用。它与先前的答案相似,但打包的路径不同。
- 须藤easy_install -m
- 须藤rm -rf /Library/Python/2.7/site-packages/.egg
平台:MacOS High Sierra版本10.13.3