Конфликты между несколькими версиями conda

#python #conda #miniconda

#python #conda #миниконда

Вопрос:

Я использую miniconda для управления своими средами python в Windows 10. Кроме того, я использую программное обеспечение ESRI ArcGIS Pro, которое поставляется в комплекте с собственными версиями conda и python, которые несколько модифицированы для работы с их программным обеспечением. Я должен использовать conda от ESRI для управления средами, которые взаимодействуют с этим приложением.

У меня такая же настройка как на моем ноутбуке, так и на рабочем столе, и до недавнего времени проблем не было. Однако недавно conda от ESRI перестала работать на моем ноутбуке. Любые команды conda (например conda list , conda info --envs , conda create -n myenv , , даже просто conda сами по себе) не дают никакого результата. Сначала я подозревал, что ПУТЬ был задан неправильно, но я проверил, что это не так (даже вызывая ERIS conda.exe с полным путем все равно не работает). Затем я заподозрил, что conda.exe сам файл был поврежден, но это тоже не так (скопировал его на свой рабочий стол, и там он работает нормально).

Я подозреваю, что это может иметь какое-то отношение к моей отдельной установке miniconda. Похоже, что это не проблема с неправильной установкой переменных среды (снова проверяется в рабочей системе), но мне интересно, есть ли какая-либо вероятность того, что существуют записи реестра (возможно, установленные моей установкой Miniconda), которые могут вызывать эту проблему?

Любые мысли о том, почему это может быть так? Или советы о том, как приступить к диагностике проблемы?

Редактировать:

По запросу merv мои переменные среды conda:

 CONDA_DEFAULT_ENV=C:Program FilesArcGISProbinPythonenvsarcgispro-py3
CONDA_PREFIX=C:Program FilesArcGISProbinPythonenvsarcgispro-py3
CONDA_PS1_BACKUP=$P$G
  

Очевидно, что эти пути отличаются от обычных из-за пользовательского дистрибутива.

Чтобы ответить на другие ваши вопросы, никакие другие команды conda не генерируют никаких выходных данных. Что касается activate того, что у меня нет других сред для активации (arcgispro-py3 env, который вы видите выше, — это имя «базовой» среды, которая поставляется с программным обеспечением), но deactivate , похоже, работает. Еще одно небольшое отличие, о котором следует упомянуть, заключается в том, что conda activate ... это не команда в этом специальном conda, вы должны просто использовать activate сам по себе, который AFAICT вызывает сценарий оболочки.

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

1. Я разместил измененную версию этого на сайте GIS stackexchange, если такая перекрестная публикация противоречит правилам, пожалуйста, дайте мне знать.

2. Сложный вопрос: сейчас кажется очень непрозрачным. Генерируют ли какие-либо команды Conda выходные данные при добавлении флагов детализации (например, conda info -vv )? Работают ли команды оболочки, например, conda activate <env_name> ? Не могли бы вы поделиться (добавить к вопросу) переменными среды Conda? Т.е. Вывод из env | grep -e "^CONDA" (извините, я не знаю эквивалента Windows).

3. @merv Я отредактировал сообщение, чтобы ответить на некоторые из этих вопросов. Я действительно не думаю, что это как-то связано с переменными среды. Как я упоминал выше, мой рабочий стол имеет практически ту же настройку, но все еще функционирует должным образом. Я могу сравнить переменные среды между ними и увидеть, что они одинаковы.

4. Спасибо за добавление этих вещей. К сожалению, они, похоже, не дают больше информации. Мое другое предположение заключается в том, что с conda пакетом Python что-то не так, который отличается от .exe и фактически выполняет большую часть работы. Возможно, попробуйте проверить lib/python*/site-packages/ каталог env для conda пакета. Просто догадываюсь.

5. Хммм, conda site-packages в этой среде нет пакета. Вероятно, это еще одна особенность настроенного дистрибутива conda / python от ESRI (я заметил, что ESRI conda.exe составляет> 12 Мб, тогда как «ванильный» conda.exe в моей установке miniconda <100 Кб … возможно, они перенесли функциональность conda пакета в .exe). Я временно решил эту проблему, удалив «ванильную» установку miniconda из моей системы. Я должен иметь возможность иметь оба одновременно (отлично работает на рабочем столе), поэтому я все еще пытаюсь определить, почему они конфликтуют