如何卸载使用distutils安装的python包?

如何卸载使用distutils安装的python包?,python,Python,您可以简单地从python安装中删除目录,或者是否有任何必须删除的延迟文件?这取决于传递给安装的选项以及系统/软件包中的内容。我不相信任何文件会在这些方式指定的目录之外被修改 值得注意的是,在这个时候 另外值得注意的是,删除包/egg可能会导致依赖性问题,如试图缓解此类问题的实用程序。如果这是出于测试和/或开发目的,则有一个命令可以在每次进行更改时更新(因此不必在每次进行更改时卸载和重新安装)。您也可以使用此命令卸载软件包 如果使用此选项,则声明为脚本的任何内容都将作为一个延迟文件保留。安装后需

您可以简单地从python安装中删除目录,或者是否有任何必须删除的延迟文件?

这取决于传递给
安装的选项以及系统/软件包中的内容。我不相信任何文件会在这些方式指定的目录之外被修改

值得注意的是,在这个时候


另外值得注意的是,删除包/egg可能会导致依赖性问题,如试图缓解此类问题的实用程序。

如果这是出于测试和/或开发目的,则有一个命令可以在每次进行更改时更新(因此不必在每次进行更改时卸载和重新安装)。您也可以使用此命令卸载软件包


如果使用此选项,则声明为脚本的任何内容都将作为一个延迟文件保留。

安装后需要删除的三项内容是:

  • 软件包/模块
  • 剧本
  • 数据文件
  • 现在,在我的linux系统上,这些都存在于:

  • /usr/lib/python2.5/site-packages
  • /usr/bin
  • /usr/股份

  • 但在windows系统上,它们更可能完全位于Python分发目录中。我对OSX一无所知,只是它更像是遵循linux模式。

    是的,简单地删除distutils安装的任何东西都是安全的。这适用于已安装的文件夹或.egg文件。当然,任何依赖于该代码的东西都将不再工作

    如果您想让它再次工作,只需重新安装


    顺便说一下,如果你使用ditudil也考虑使用多版本特性。它允许您安装任何单个软件包的多个版本。这意味着,如果您只想安装一个较新的版本,就不需要删除旧版本的软件包。

    我刚刚卸载了一个python软件包,尽管我不确定我是否做到了完美,但我有足够的信心

    我首先得到一个所有python相关文件的列表,按日期排序,假设包中的所有文件都或多或少具有相同的时间戳,而没有其他文件具有相同的时间戳

    幸运的是,我已经在
    /opt/python-2.6.1
    下安装了python;如果我一直在使用Linux发行版附带的Python,我将不得不搜索所有
    /usr
    ,这将花费很长时间

    然后我检查了一下这个列表,轻松地注意到我想使用nuke的所有东西都由一个目录组成,
    /opt/Python-2.6.1/lib/python2.6/site packages/module name/
    ,还有一个文件,
    /opt/Python-2.6.1/lib/python2.6/site packages/module-x.x_blah-py2.6.egg info

    所以我删除了那些

    以下是我如何获得文件的日期排序列表:

    find“$@”-printf'%T@'-ls | sort-n | cut-d \-f2-

    (顺便说一句,我想那一定是GNU“find”;你在OSX上得到的味道并不知道“-printf'%t@'))

    我一直在使用它。

    对于Windows 7

    控制面板-->程序-->卸载

    那么


    选择要删除的python包。

    另一种基于时间戳的黑客攻击:

  • 创建锚定:
    touch/tmp/ts
  • 重新安装要删除的软件包:
    python setup.py install--prefix=
  • 删除比锚文件更新的文件:
    find-cnewer/tmp/ts | xargs rm-r

  • 在Ubuntu12.04中,我发现默认情况下唯一需要查看的地方是

    /usr/local/lib/python2.7/
    
    只要删除关联的文件夹和文件(如果有的话)

    安装--录制
    +
    xargs rm

    sudo python setup.py install --record files.txt
    xargs sudo rm -rf < files.txt
    
    在Python 2.7.6和Ubuntu 14.04中测试。

    在Windows中使用Python:

    python -m pip uninstall "package_keyword"
    uninstall **** (y/n)?
    

    在Mac OSX上,手动删除pathToPython/site软件包下的这两个目录/
    将起作用:

    • {packageName}
    • {packageName}-{version}-info
    例如,要删除作为distutils安装项目的pyasn1,请执行以下操作:

    • rm-rf lib/python2.7/site-packages/pyasn1
    • rm-rf lib/python2.7/site-packages/pyasn1-0.1.9-py2.7.egg-info
    要了解网站包的位置,请执行以下操作:

    python -m site
    
    
    错误:flake8 3.7.9的要求pycodestyle=2.5.0,但您的pycodestyle 2.3.1不兼容。
    
    错误:nuscenes devkit 1.0.8有要求MotMetrics能否请您更新此文件以直接解决问题中的延迟文件部分?我想是的--在distutils配置和安装标志指定的目录之外不会创建任何文件,因此这些目录中将存在任何“延迟”文件。每个包的内容都不同。@cdleary:谢谢,但是,我希望你能简单地澄清和强化你的答案,而不是添加一条长长的评论线索。@S.Lott:对不起,我不知道你想澄清答案的哪一部分--你能说得更具体些吗?日期:2011-07-04 14:35 distutils2/packaging现在提供了删除功能和pysetup remove命令。@Mauricio我在列表中没有看到旧版本,但我可以在站点包中看到egg文件。这是个问题吗?在Windows 10上为我工作。我不喜欢
    | xargsrm-r
    。我建议手动检查每个文件。在ext4(和其他文件系统)上,这个
    find
    也将列出所有文件夹。如果您的前缀是
    /usr
    ,您将删除
    /usr/*
    。工作正常。有时在/usr/lib/python中,请尝试解释您正在执行的操作以及原因,而不是仅显示控制台输出。如果使用distutils安装包,则无法工作。
    python -m site