当前位置: 首页 > 知识库问答 >
问题:

pip无法卸载:“它是安装了distutils的项目”

夏侯俊美
2023-03-14

我尝试安装Twilio模块:

sudo -H pip install twilio

我得到了这个错误:

Installing collected packages: pyOpenSSL
  Found existing installation: pyOpenSSL 0.13.1
Cannot uninstall 'pyOpenSSL'. It is a distutils installed project and             
thus we cannot accurately determine which files belong to it which 
would lead to only a partial uninstall.

有人知道如何卸载pyOpenSSL吗?

共有3个答案

曹均
2023-03-14

通常,对于类似错误,请使用以下格式

pip install --ignore-installed [package name]==[package version]
孙嘉悦
2023-03-14

我遇到了相同的错误,可以通过以下步骤解决:

  pip install --ignore-installed pyOpenSSL

这将安装最新版本的软件包,如果您尝试安装,

  pip install twilio

它会起作用的。

汤枫涟
2023-03-14

此错误意味着此包的元数据不包括属于它的文件列表。最有可能的是,您已经通过操作系统的包管理器安装了这个包,所以您也需要使用它而不是pip来更新或删除它。

例如,请参阅升级到pip 10:这是一个distutils安装项目,因此我们无法准确确定哪些文件属于它,这将导致仅部分卸载发布#5247·pypa/pip,以获取安装了apt软件包的一个示例。

或者,根据您的需要,不使用系统Python和/或其全局环境,而是创建一个私有Python安装和/或环境可能更有效率。这里有许多选项,包括virtualenvvenvpyenvpipenv,以及将Python从源代码安装到/usr/local$HOME/$HOME/。本地(或/opt)/

最后,我必须对经常建议的(例如,在pip 10和apt:如何避免distutils软件包出现“无法卸载X”错误)--忽略已安装的pip开关进行评论。

它可能有效(可能持续足够长的时间来满足您的业务需求),但也可能以不可预测的方式破坏系统。有一件事是肯定的:它使系统的配置不受支持,因此无法维护——因为您基本上用其他一些任意的东西覆盖了发行版中的文件。例如:

  • 如果新文件与旧文件二进制不兼容,则发行版中用于链接原始文件的其他软件将出现故障或其他故障
  • 如果新版本有一组不同的文件,那么最终会出现新旧文件的混合,这可能会破坏依赖软件以及软件包本身
  • 如果以后使用操作系统的软件包管理器更改软件包,它将覆盖pip-安装的文件,并产生类似的不可预测的结果
  • 如果存在配置文件之类的东西,那么版本之间的差异也会导致各种破坏

 类似资料:
  • 我得到了这个错误: 有人知道怎么卸载PyopenSSL吗?

  • 问题内容: 尝试使用以下方法安装spyder: 出现此错误: 无法卸载“ ipython”。这是一个distutils安装的项目,因此我们无法准确确定属于该文件的文件,这只会导致部分卸载。 问题答案: 刚刚解决:

  • 问题内容: 您可以简单地从python安装中删除目录,还是必须删除任何残留文件? 问题答案: 它取决于您传递给的选项以及系统/软件包中distutils配置文件的内容。我不相信会以这些方式在指定目录之外修改任何文件。 值得注意的是,distutils目前没有卸载命令。 还值得注意的是,删除程序包/鸡蛋可能会导致依赖关系问题,例如尝试减轻此类问题的实用程序。

  • 我刚接触node,有一个特殊的问题。我试图使用passportjs登录,但我出现了一个错误,即不工作,尽管我昨天在注册时使用了它,但它表示在node models目录中不识别或类似的东西。 在尝试了多种方法使其工作后,我回想起IntelliJ在打开i时要求我运行一个npm安装命令。所以我点击事件日志并允许IntelliJ运行它,IntelliJ重新启动,然后我点击run并得到一个错误。 所以我转到

  • 安装与卸载 Compose 支持 Linux、macOS、Windows 10 三大平台。 Compose 可以通过 Python 的包管理工具 pip 进行安装,也可以直接下载编译好的二进制文件使用,甚至能够直接在 Docker 容器中运行。 Docker Desktop for Mac/Windows 自带 docker-compose 二进制文件,安装 Docker 之后可以直接使用。 $

  • 我在Ubuntu 20.04桌面上。我不记得我是否必须在这里手动安装(必须在其他Ubuntu机器上安装),但我有一个系统: ...然后: 然后,尝试从我的主目录设置virtualenv: 然后,我将以下内容放在venv_mpl/requirements.in中: 然后,我启用 virtualenv,并尝试安装软件包: 嗯,是的,我以前确实安装了apturl: …但话说回来,不应该是这样的吗,如果我