如何使用 Pip 卸载部分安装的模块

Posted

技术标签:

【中文标题】如何使用 Pip 卸载部分安装的模块【英文标题】:How to uninstall partially installed module with Pip 【发布时间】:2018-08-05 05:48:12 【问题描述】:

我最近决定尝试在我的计算机上安装 tesseract 并运行 pip3 install tesseract-ocr

然后它开始下载cython,这提醒我tesseract-ocr不是我想要的,所以我按CTRL-C取消命令。

但是,我的目录中似乎还有一个 Cython 文件夹;取消后 pip 没有清理。另外,我不能使用pip uninstall cython,因为它只是告诉我它还没有安装。

我该怎么做才能彻底清除 Cython?

【问题讨论】:

【参考方案1】:

FWIW,你提供的包名似乎不在全球 pypi 索引上,所以也许你遗漏了一些步骤?

pip3 install opencv-tesseract
Collecting opencv-tesseract
  Could not find a version that satisfies the requirement opencv-tesseract 
  (from versions: )
No matching distribution found for opencv-tesseract

在这种情况下,我认为答案变成:

    以后让它完成安装,完成后再卸载,这样它就可以正常清理了。

    如果 pip 正在安装您正在安装的东西的依赖项,请不要惊慌。当我在编辑的问题中pip3 install tesseract-ocr 时,我看到:

    Collecting tesseract-ocr
      Downloading tesseract-ocr-0.0.1.tar.gz
    Collecting cython (from tesseract-ocr)
    ...
    

    这是完全正常的,只是表明您正在安装依赖项的依赖项,在本例中为cython,因此无需取消它。

    将依赖项安装到一次性virtualenvs,以免污染全局包和文件系统:https://virtualenv.pypa.io/en/stable/

    您可能只需要删除剩余的cython 目录。

【讨论】:

感谢您注意到包名:已编辑为具有正确的包名:tesseract-ocr @ProQ Gotcha :) 我已经编辑了我的答案以确认 cython 是您正在安装的软件包的预期依赖项。您也许可以在不完整的安装之上完成原始安装,以便之后运行pip3 uninstall tesseract-ocr【参考方案2】:

虽然您可以手动删除文件(通常位于文件夹 site-packages 中,但最好完全重新安装软件包,然后使用 pip uninstall <package> 完全卸载它。

【讨论】:

【参考方案3】:

当我在安装 linux-remote 的过程中失去了我的 Pi 电源时,我也遇到了这个问题。

我删除了.whl 文件以解决问题,在我的案例中该文件位于此处:

/root/.cache/pip/wheels/a0/75/....../linux-remote-3.4-cp37-none-any.whl

【讨论】:

以上是关于如何使用 Pip 卸载部分安装的模块的主要内容,如果未能解决你的问题,请参考以下文章

使用 pip 安装/卸载我的模块

如何 pip 卸载使用 git 项目 URL 安装的包?

如何使用 pip 卸载可编辑包(使用 -e 安装)

pip 查看已安装模块卸载指定模块安装指定版本模块

如何卸载 pip3 安装的 Jupyter notebook

如果从源代码安装,如何卸载包管理器“pip”?