pip升级arcgis彻底破解pip

Pip upgrading arcgis completely broke pip

概述:虽然 运行ning Python 3.6,但在升级我的 arcgis 包后,脚本不再识别许多包并且 pip 本身完全损坏,无法升级或卸载任何包。

背景信息:最近,当我 运行 我的一个特定程序时,我看到一条与 arcgis 包相关的弃用消息。所以,我升级了 arcgis 包,看看它是否修复了它。它似乎安装正确,但是当尝试 运行 我的程序时,我会收到其他包的错误,例如 foliumrequests。然后我尝试升级 Python 并且最初,它有效。我使用 pip 安装 pandas 和请求,但在我安装 arcgis 之后,一切又坏了。因此,当尝试卸载 arcgis(或执行任何其他与 pip 相关的操作)时,出现此错误:

FileExistsError:[WinError 183] 文件已存在时无法创建文件:'C:\Users\myuserpath\AppData\Local\.certifi'

我已经卸载了 Python 但它没有任何改变。 pip install any package 导致此错误。我尝试恢复到 Python 3.6,但无法从 python 站点获得安装程序,只有 3.9.

此 arcgis 安装可能会更改或影响哪些内容?

您似乎要处理两个主要问题。第一个是@BoarGules 提到的,arcgis 执行 'full' 安装及其所有依赖项,这可能会导致问题。其次,最新的请求库似乎也有一些问题,至少从我的经验来看是这样。那么让我们开始解决所有这些问题吧。

可能有几种不同的方法可以解决这个问题,所以这只是众多方法中的一种。首先,卸载 python 并从 AppData 文件夹中删除 python 文件夹 - 在您的情况下,它将是 Python 3.9 文件夹。重新安装 Python 并检查您的站点包文件夹,确保它只包含默认的 Python 包。打开命令提示符并执行 pip 安装一些基本的东西,比如 pandas。如果顺利的话,那么第一关就结束了。

当需要再次安装 arcgis 时,您会想改用它

pip install arcgis --no-deps

这将防止任何包裹加倍或任何似乎正在发生的事情。然后您还需要安装这些:

pip install ujson
pip install requests_ntlm

下一步,当你开始安装请求时,使用一个旧的库,比如这个: pip 安装请求==2.20.0

这应该能让事情恢复正常 运行。