我已经安装了python setup.py install的python包。

我该如何卸载它?


#1楼

对我来说,以下主要是有效的:

已安装pip,例如:

$ easy_install pip

检查,您从pip角度命名的安装包如何:

$ pip freeze

这将列出您已安装的所有软件包的名称(以及由pip检测到的软件包的名称)。 名称可能有些长,然后只使用在#egg=之后和之后显示的包的名称。 在大多数情况下,您也可以忽略版本部分(无论如何==- )。

然后卸载包:

$ pip uninstall package.name.you.have.found

如果它要求确认删除包裹,那么你是幸运的人,它将被删除。

pip将检测由pip安装的所有软件包。 它还应检测通过easy_install或setup.py安装的大多数软件包,但在极少数情况下可能会失败。

这是来自我的本地测试的真实示例,在MS Windows上使用名为ttr.rdstmc包。

$ 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)? ySuccessfully 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 --upgrade

在某些系统(如Debian Jessie)上,这是不可用的(以防止破坏系统python安装)。

使用grepfind

上面的示例假设您已安装grep 。 我(在我的机器上有MS Windows时)安装了一组linux实用程序(包括grep)。 或者,使用本机MS Windows find或者只是忽略该过滤并在更长的检测到的python包列表中找到该名称。


#2楼

注意:避免使用python setup.py install使用pip install .

您需要手动删除所有文件,还要撤消安装手动执行的任何其他操作。

如果您不知道所有文件的列表,可以使用--record选项重新安装它,并查看它生成的列表。

要记录已安装文件的列表,您可以使用:

python setup.py install --record files.txt

一旦要卸载,可以使用xargs进行删除:

xargs rm -rf < files.txt

或者,如果您正在运行Windows,请使用Powershell:

Get-Content files.txt | ForEach-Object {Remove-Item $_ -Recurse -Force}

然后删除包含的目录,例如macOS /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/my_module-0.1.egg/ 。 它没有文件,但Python仍然会导入一个空模块:

>>> import my_module
>>> my_module.__file__
None

删除后,Python会显示:

>>> import my_module
Traceback (most recent call last):File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'my_module'

#3楼

转到你的python包目录并删除.egg文件,例如:在python 2.5(ubuntu)中:/usr/lib/python2.5/site-packages/

在python 2.6(ubuntu)中:/usr/local/lib/python2.6/dist-packages/


#4楼

懒惰的方式:只需从Windows安装菜单(如果您使用的是Windows)或rpm命令卸载,前提是您在创建分发包后首先重新安装它。

例如,

python setup.py bdist_wininst
dist/foo-1.0.win32.exe

(“foo”当然是一个例子)。


#5楼

扩展Martin所说的,记录安装输出和一些bash脚本就可以了。 这是我做的......

for i in $(less install.record);
sudo rm $i;
done;

并且presto。 卸载。


#6楼

通过使用bash读取命令来删除相关文件可能更好,如下所示:

sudo python setup.py install --record files.txt
sudo bash -c "cat files.txt | xargs rm -rf"

#7楼

可能你可以这样做: -

1)获取python版本 -

[linux machine]# python
Python 2.4.3 (#1, Jun 18 2012, 14:38:55)

- >上面的命令为您提供当前的Python版本2.4.3

2)获取python的安装目录 -

[linux machine]# whereis python
python: /usr/bin/python /usr/bin/python2.4 /usr/lib/python2.4 /usr/local/bin/python2.5 /usr/include/python2.4 /usr/share/man/man1/python.1.gz

- >从上面的命令你可以得到安装目录 - /usr/lib/python2.4/site-packages

3)从这里你可以删除包和python egg文件

[linux machine]# cd /usr/lib/python2.4/site-packages
[linux machine]# rm -rf paramiko-1.12.0-py2.4.egg paramiko-1.7.7.1-py2.4.egg paramiko-1.9.0-py2.4.egg

这对我有用..而且我能够卸载困扰我的包:)


#8楼

#1答案有问题:

  • 不适用于mac。
  • 如果安装的文件包含空格或其他特殊字符,则xargs命令将失败,并删除与单个单词匹配的任何文件/目录。
  • rm -rf-r是不必要的,最坏的情况是可以删除你不想要的东西。

相反,对于unix-like:

sudo python setup.py install --record files.txt
# inspect files.txt to make sure it looks ok. Then:
tr '\n' '\0' < files.txt | xargs -0 sudo rm -f --

对于Windows:

python setup.py bdist_wininst
dist/foo-1.0.win32.exe

卸载setup.py安装时也存在无法解决的问题,在典型情况下不会打扰您。 有关更完整的答案,请参阅此Wiki页面:

https://ofswiki.org/wiki/Uninstalling_setup.py_install


#9楼

现在python让你可以选择在安装过程中安装pip (我在Windows上,至少python是为Windows做的!)。 考虑到你在安装python时选择安装pip (你实际上不必选择因为它是默认的),所以已经为你安装了pip 。 然后,在命令提示符下输入pip ,你会看到一个帮助。 你可以在那里找到必要的使用说明。 例如, pip list显示已安装软件包的列表。 您可以使用

pip uninstall package_name

卸载任何你不想要的包。 在这里(pip文档) 。


#10楼

我想你可以打开setup.py,找到包名,然后请求pip卸载它。

假设该名称在“METADATA”变量中可用:

pip uninstall $(python -c "from setup import METADATA; print METADATA['name']")

#11楼

首先记录您已安装的文件。 您可以重复此命令,即使您之前已运行setup.py install

python setup.py install --record files.txt

当您要卸载时,您可以:

sudo rm $(cat files.txt)

这是有效的,因为rm命令需要删除一个空格分隔的文件列表,而您的安装记录就是这样一个列表。


#12楼

不是完全回答这个问题,而是每天帮助我的事情:

安装你的包

pip install .

这将包放在$HOME/.local 。 用。卸载

pip uninstall <package_name>

#13楼

我在过去的某个时刻在我的全球环境中偶然运行了“python setup.py install”,卸载起来很困难。 这些解决方案没有帮助。 “pip uninstall”无法使用“无法卸载'splunk-appinspect'。没有找到要卸载的文件。” “sudo pip uninstall”无效“无法卸载要求splunk-appinspect,未安装”。 我尝试卸载pip,删除pip缓存,搜索我的硬盘驱动器包等...

“pip show”最终让我找到了解决方案,“Location:”指向了一个目录,并重命名该目录导致打包从pip的列表中删除。 我重新命名了目录,并没有重新出现在pip的列表中,现在我可以在virtualenv中重新安装我的包。


#14楼

我在PyCharm中运行了一次python setup.py install ,它将所有软件包安装到我的conda基础环境中。 稍后当我想删除所有这些包时, pip uninstall不起作用。 我不得不从/anaconda3/lib/python3.7/site-packages手动删除它们:(

所以我没有看到他们使用setup.py而不是编写requirements.txt文件的原因。 需求文件可用于在虚拟环境中安装软件包,不会弄乱系统python软件包。


#15楼

如果在重新安装软件包后仍有应删除的文件,请确保还删除了文件夹build 。 因此,假设pkg是您要删除的包:

rm -r $(python3 -c "import pkg; print(pkg.__path__[0] + '*' )")
rm -rf build

Obove为python3工作并删除包及其* .egg-info文件


#16楼

{virtualenv}/lib/python2.7/site-packages/ (如果不使用virtualenv那么{system_dir}/lib/python2.7/dist-packages/

  • 删除鸡蛋文件(例如distribute-0.6.34-py2.7.egg
  • 如果文件easy-install.pth有任何文件,请删除相应的行(它应该是源目录或egg文件的路径)。

python setup.py卸载相关推荐

  1. python setup.py install 安装的包 卸载方法

    增加 –record 参数重新安装软件包,执行命令: python ./setup.py install --record install.txt 删除安装文件,执行命令: cat install.t ...

  2. Python setup.py开发与安装

    本文翻译自:Python setup.py develop vs install Two options in setup.py develop and install are confusing m ...

  3. python setup.py install 出错_python setup.py install 失败

    python setup.py install 报错ImportError: No module named setuptools 学习光荣之路python课程时,使用python setup.py ...

  4. Python案例篇3-pip install 失败 Command “python setup.py egg_info“ failed with error code 1

    一.问题描述 最近在自学pyspark,想本地通过pycharm来编辑pyspark脚本,运行的时候,提示没有pyspark模块,于是通过pycharm安装了pyspark(最新版本). 而且这个安装 ...

  5. ubuntu16.04更新pip出现Command “python setup.py egg_info“ failed with error code 1 in /tmp/pip-build-Yjy7

    1. 先卸载安装的python-pip(我这步直接显示参数 python-pip 没有匹配,不删除任何软件包) sudo yum remove python-pip 如果显示sudo: yum:找不到 ...

  6. 解决 win10 pycurl安装出错 Command python setup.py egg_info failed with error code 10 编译安装包 安装万金油...

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/yexiaohhjk/article/d ...

  7. ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full comm

    目录 问题 解决方法 问题 Python3.7环境下安装PySide pip install PySide Collecting PySideUsing cached PySide-1.2.4.tar ...

  8. python pip 报错 Command “python setup.py egg_info“ failed with error code 1 解决方法

    在执行 pip3 install scrapy 时遇到错误: Command "python setup.py egg_info" failed with error code 1 ...

  9. pip 另一种安装方法:python setup.py install

    最近在安装prophet,使用'pip install prophet' 怎么安装都不对(报错信息附在最后[Requirement already satisfied和warning部分略去了],如果 ...

最新文章

  1. 简单linux蠕虫,清除Linux系统上的蠕虫程序Ramen
  2. Delphi中流对象 TStream
  3. Linux用extundelete恢复磁盘文件-攻防世界Recover-Deleted-File
  4. C语言中的虚拟地址是什么?
  5. lnmp的编译安装mysql_LNMP环境搭建(二) 编译安装MySQL
  6. ES6~ES12——Array Includes、Object values、Object entries、Object fromEntries、flat、flatMap、空值合并运算符、可选链等
  7. foreach输出mysql方法_mysql – “foreach”循环:使用R中的所有核心(特别是如果我们在foreach循环中发送sql查询)...
  8. 三星Galaxy S21 FE即将量产:8月登场 小屏满血旗舰!
  9. C# vs note
  10. 数字高程模型和地图——thematicmapping.org译文(一)
  11. python学习(四)----函数
  12. git添加远程库遇到的问题
  13. H5动效的常见制作手法
  14. 一个500强公司的数据化运营管理实践 1
  15. 候选键的计算(数据库系统概论)
  16. 2月全球搜索引擎市场份额之争:百度战胜Google夺冠
  17. 【AI绘画】二次元小姐姐生成!春节版!
  18. | JavaScript脚本注入,完成Selenium 无法做到的那些事
  19. 【计算机三级】网路技术学习笔记 第七章 路由器配置及使用
  20. python中采用字典建立统_Python字典的基本使用

热门文章

  1. IT部门如何应对VDI问题
  2. 广州培训:成功部署报表必做的四件事
  3. Win10系统,开机后提示Desktp不可用的故障解决方法。
  4. 查询服务器硬件配置的命令
  5. Node——设置响应报文头实现下载
  6. 学习http only cookie以及javascript创建cookie的方式
  7. php yii框架使用MongoDb
  8. 消格子时一个很深的bug的修复纪录
  9. [JavaScriptC#]收藏 备忘
  10. SharePoint Web Service系列: Add或Update其他各种类型的项