Обновление Pip arcgis полностью сломало pip

#python #pip #arcgis

Вопрос:

Обзор: Во время работы Python 3.6 после обновления моего пакета arcgis скрипты больше не распознают многие пакеты, а сам pip полностью сломался, что делает невозможным обновление или удаление каких-либо пакетов.

Справочная информация: Совсем недавно, когда я запускаю определенную свою программу, я видел сообщение об устаревании, связанное с пакетом arcgis. Итак, я обновил пакет arcgis, чтобы посмотреть, исправил ли он его. Казалось, что он установлен правильно, но затем при попытке запустить мою программу я получал ошибки для других пакетов, таких как folium или requests . Затем я попытался обновить Python, и поначалу это сработало. Я использовал pip для установки панд и запросов, но сразу после установки arcgis все снова сломалось. Поэтому при попытке удалить arcgis (или сделать что-либо еще, связанное с pip) Я получаю эту ошибку:

Ошибка существования файла: [Ошибка 183] Не удается создать файл, если этот файл уже существует: ‘C:UsersmyuserpathAppDataLocal.certifi

Я удалил Python, но это ничего не меняет. установка любого пакета pip приводит к этой ошибке. Я попытался вернуться к Python 3.6, но установщик был недоступен с сайта python, только 3.9.

Что могло быть изменено или затронуто этой установкой arcgis?

Комментарии:

1. Насколько я помню, pip внутренне зависит от urllib3 . Обновление requests может привести к несогласованной или неработающей версии. Попробуйте использовать get-pip.py эту страницу для восстановления pip

2. Если я запущу это get-pip.py файл, я получаю ту же ошибку — что файл уже существует. Я не могу понять, что он пытается скопировать или создать.

3. AFAIK ArcGIS поставляется с собственной установкой Python. Это обычно отдельно от любой другой установки, которая у вас есть, а это означает, что вам придется устанавливать сторонние модули более одного раза. Это звучит так, как будто в вашем случае ArcGIS устанавливает свою собственную копию Python поверх вашей установки vanilla Python.

Ответ №1:

Похоже, вы имеете дело с двумя основными проблемами. Во-первых, как упоминал @BoarGules, arcgis выполняет «полную» установку со всеми ее зависимостями, и это может вызвать проблемы. Во-вторых, у новейшей библиотеки запросов, похоже, тоже есть некоторые проблемы, по крайней мере, из того, что я испытал. Так что давайте начнем все это исправлять.

Вероятно, есть несколько различных способов исправить это, так что это лишь один из многих. Во — первых, удалите python и удалите папку python из папки AppData-в вашем случае это будет папка Python 3.9. Переустановите Python и проверьте папку «Пакеты сайта», убедившись, что она содержит только пакеты Python по умолчанию. Откройте командную строку и выполните pip-установку чего-нибудь базового, например, pandas. Если все пройдет хорошо, то первое препятствие будет преодолено.

Когда придет время снова устанавливать arcgis, вы захотите использовать это вместо этого

 pip install arcgis --no-deps
 

это предотвратит удвоение любого из пакетов или что-то еще, что, по-видимому, происходит. Затем вам также нужно будет установить эти:

 pip install ujson
pip install requests_ntlm
 

Затем, когда вы перейдете к запросам на установку, используйте более старую библиотеку, такую как эта:
запросы на установку pip==2.20.0

Это должно вернуть все на круги своя.