执行 easy_install pip 后如何修复 apt?

执行 easy_install pip 后如何修复 apt?

我在使用 pip 时遇到以下错误:“pip 因 request-Modul 的 ImportError 而停止

我在论坛上看到一个简单的解决方案就是apt-get 删除 pip然后做easy_install pip。我这样做了,它确实让 pip 重新开始工作。

但是,我后来读到使用 easy_install 不是一个好主意,可能会破坏 apt 的包管理。所以我的问题是,如何“撤消”easy_install 所做的一切,并让 apt 再次正确管理 pip?

答案1

你需要做的:
重新安装该python-pipapt,然后将其本身或损坏时升级pip到最新版本。pipeasy_install

sudo apt-get install python-pip
sudo pip install --upgrade pip || sudo easy_install --upgrade pip

为什么要这么做:
apt仅安装它在您已安装的存储库中找到的软件包,但官方存储库中的 python 软件包非常过时!但是,您将来可能会安装的一些软件包可能会列为python-pip依赖项,并且需要安装该软件包。如果您在未安装的情况下安装它,它们将无法识别它apt。此外,该man命令不起作用,pip因为只apt为其创建了一个手册页,easy_install而不是。

easy_install但是pip,它们不会从任何存储库中获取其包,而是从 PyPI (Python 包索引) 中获取,它始终保存最新的可用版本。

因此,如果您想要当前版本,我的建议是使用pip而不是apt来更新 Python 包。easy_install是 的祖先pip,通常应避免使用 并用 代替pip,但只要它坏了,您就必须使用它。您也可以执行sudo pip install --upgrade pip来获取最新pip版本,而无需easy_install

如果您没有pip安装软件包,则只​​需另外安装。在使用或升级之前apt,我没有删除python-pip它,它也可以工作。由于在和/中使用优先级较高的目录安装旧版本,因此,如果安装了多个版本,则在不提供明确目录的情况下简单调用将始终运行较新的版本。aptpipeasy_installaptpip/usr/binpipeasy_install/usr/local/binpip

相关内容