Python的easy_install
使安装新包变得非常方便。但是,据我所知,它没有实现依赖项管理器的其他常见功能 - 列出并删除已安装的软件包。
找出已安装内容的最佳方法是什么,以及删除已安装软件包的首选方法是什么?如果我手动删除软件包(例如rm /usr/local/lib/python2.6/dist-packages/my_installed_pkg.egg
或类似文件),是否需要更新任何文件?
答案 0 :(得分:610)
pip是setuptools / easy_install的替代品,提供“卸载”命令。
安装点子$ wget https://bootstrap.pypa.io/get-pip.py
$ python get-pip.py
然后,您可以使用pip uninstall
删除使用easy_install
答案 1 :(得分:185)
要卸载.egg
,您需要rm -rf
鸡蛋(可能是目录)并从site-packages/easy-install.pth
答案 2 :(得分:157)
首先,您必须运行此命令:
$ easy_install -m [PACKAGE]
它删除了包的所有依赖项。
然后删除该包的egg文件:
$ sudo rm -rf /usr/local/lib/python2.X/site-packages/[PACKAGE].egg
答案 3 :(得分:28)
网上有several个来源暗示通过使用-m选项重新安装软件包,然后只删除lib /中的.egg文件和bin /中的二进制文件。此外,关于此setuptools问题的讨论可以在python bug跟踪器上找到setuptools issue 21。
编辑:添加了python bugtracker的链接。
答案 4 :(得分: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)。
答案 5 :(得分:18)
官方(?)说明:http://peak.telecommunity.com/DevCenter/EasyInstall#uninstalling-packages
如果您已将软件包替换为其他版本,则只需删除PackageName-versioninfo.egg文件或目录(位于安装目录中)即可删除不需要的软件包。
如果要删除当前安装的软件包版本(或软件包的所有版本),应首先运行:
easy_install -mxN PackageName
这将确保Python不会继续搜索您计划删除的包。完成此操作后,您可以安全地删除.egg文件或目录,以及要删除的任何脚本。
答案 6 :(得分:15)
试
$ easy_install -m [PACKAGE]
然后
$ rm -rf .../python2.X/site-packages/[PACKAGE].egg
答案 7 :(得分:7)
要列出已安装的Python包,您可以使用yolk -l
。您首先需要使用easy_install yolk
。
答案 8 :(得分:6)
在尝试卸载随时间安装的许多随机Python软件包时遇到了这个问题。
使用此线程中的信息,这就是我提出的:
cat package_list | xargs -n1 sudo pip uninstall -y
删除几乎所有Python包:
pip freeze
答案 9 :(得分:3)
我在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
希望这有帮助。
答案 10 :(得分:3)
仅限我删除此文件:easy-install.pth 工作,休息点安装django == 1.3.7
答案 11 :(得分:1)
这对我有用。它与之前的答案类似,但包的路径不同。
平台:MacOS High Sierra版本10.13.3