我已经用python setup.py install安装了一个python包。
如何卸载?
我已经用python setup.py install安装了一个python包。
如何卸载?
当前回答
{virtualenv}/lib/python2.7/site-packages/(如果不使用virtualenv,则使用{system_dir}/lib/python2.7/dist-packages/)
删除egg文件(例如distribute-0.6.34-py2.7.egg) 如果easy-install.pth文件中有任何文件,删除相应的行(它应该是源目录或egg文件的路径)。
其他回答
对我来说,以下方法最有效:
安装PIP,例如:
$ easy_install pip
检查,您安装的包如何从pip的角度命名:
$ pip freeze
这将列出您已安装的所有软件包的名称(以及pip检测到的软件包)。 名称有时可能很长,然后只使用在#egg=和后面显示的包的名称。在大多数情况下,您还可以忽略版本部分(==或-后面的部分)。
然后卸载软件包:
$ pip uninstall package.name.you.have.found
如果它要求确认删除包,那么你是幸运的家伙,它将被删除。
PIP应检测所有由PIP安装的包。它还应该检测通过easy_install或setup.py安装的大多数包,但在一些罕见的情况下可能会失败。
这是我的本地测试包名为ttr的真实示例。rdstmc在MS Windows。
$ pip freeze |grep ttr
ttr.aws.s3==0.1.1dev
ttr.aws.utils.s3==0.3.0
ttr.utcutils==0.1.1dev
$ python setup.py develop
.....
.....
Finished processing dependencies for ttr.rdstmc==0.0.1dev
$ pip freeze |grep ttr
ttr.aws.s3==0.1.1dev
ttr.aws.utils.s3==0.3.0
-e hg+https://vlcinsky@bitbucket.org/vlcinsky/ttr.rdstmc@d61a9922920c508862602f7f39e496f7b99315f0#egg=ttr.rdstmc-dev
ttr.utcutils==0.1.1dev
$ pip uninstall ttr.rdstmc
Uninstalling ttr.rdstmc:
c:\python27\lib\site-packages\ttr.rdstmc.egg-link
Proceed (y/n)? y
Successfully uninstalled ttr.rdstmc
$ pip freeze |grep ttr
ttr.aws.s3==0.1.1dev
ttr.aws.utils.s3==0.3.0
ttr.utcutils==0.1.1dev
编辑2015-05-20
上面所写的仍然适用,无论如何,现在有一些小的修改。
在python 2.7.9和python 3.4中安装pip
最新的python版本附带了一个包ensurepip,允许在脱机时安装pip:
$ python -m ensurepip——升级
在某些系统上(如Debian Jessie)这是不可用的(以防止破坏系统python安装)。
使用grep或find
上面的例子假设您已经安装了grep。我已经(在我的机器上安装了MS Windows)安装了一套linux实用程序(包括grep)。或者,使用本机MS Windows find,或者直接忽略该过滤,并在检测到的python包的较长列表中查找名称。
我用python setup.py在conda环境下开发了一个开发鸡蛋链接,用pip uninstall <packagename>删除了鸡蛋链接。至少在这种情况下,卸载pip是一种方法。
首先记录您已安装的文件。你可以重复这个命令,即使你之前已经运行了setup.py install:
python setup.py install --record files.txt
当你想卸载时,你可以:
sudo rm $(cat files.txt)
这是可行的,因为rm命令接受一个以空格分隔的文件列表来删除,而您的安装记录就是这样一个列表。
扩展Martin所说的内容,记录安装输出和一点bash脚本就可以很好地完成这个任务。我是这么做的…
for i in $(less install.record);
sudo rm $i;
done;
和很快。卸载。
从本地安装 Python setup.py安装
从本地卸载 PIP卸载mypackage