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

How to uninstall partially installed module with Pip

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

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

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

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

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

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

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

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

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

    这是完全正常的,只是表明您正在安装依赖项的依赖项,在这种情况下cython,因此无需取消它。

  3. 安装一次性 virtualenv 的依赖项,这样您就不会污染全局包和文件系统:https://virtualenv.pypa.io/en/stable/

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

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

我的 Pi 在安装 linux-remote 的过程中部分断电时也遇到了这个问题。

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

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