Почему версия python по умолчанию меняется каждый раз, когда я создаю env с помощью conda?

#python #anaconda #conda #environment

#python #anaconda #conda #Окружающая среда

Вопрос:

Я использую Anaconda в windows10.
Каждый раз, когда я создаю новую среду с conda помощью command без указания конкретной python версии, кажется, что она просто устанавливает разные версии python.
Почему это происходит? Как conda create команда решает, какую версию python извлекать?

Пример:
conda create -n env_name1 -> activate env_name1 -> python --version -> python 3.9.1
conda create -n env_name2 -> activate env_name2 -> python --version -> python 3.8.3

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

1. Возможно, в этой среде вы получили другой файл condarc.

2. Разве вы не запрашиваете одновременную установку некоторых пакетов, например conda create -n name package1 package2 ? Или точно так, как вы указали в вопросе? Уточнение, поскольку последнее было бы действительно странным. Оно должно быть детерминированным.

3. @LukaszTracewski Точно так, как я изложил в вопросе, но теперь, похоже, он устанавливает python 3.8.3 только всякий раз, когда я создаю новую среду. Это определенно произошло вчера, хотя, когда я создал conda -n env_name , он установил python 3.9.1. Как conda решает, какой python установить? Можно ли это установить в конфигурации?

4. conda create -n env_name1 alone ничего не устанавливает, поэтому вы, вероятно, просто выбираете Python из другого места на PATH. Как правило, почти всегда можно улучшить работу с Conda, указав все известные требования при создании среды. Так что попробуйте conda create -n env_name1 python=3.8 (или любую другую версию, которая вам действительно требуется), а также любые пакеты.

5. @merv спасибо, это прояснило ситуацию для меня. Как вы сказали, conda create -n env_name1 не устанавливается python , python --version внутри env просто ссылается на python, расположенный в base env. Я также понял, что в python.exe каталоге установлено несколько разных версий C:Usersanaconda3pkgs (я не знаю почему), и одна из них python3.9.1 такова, что, должно быть, по какой-то причине она ссылалась на эту.

Ответ №1:

Убедитесь, что вы деактивировали env_name1 перед созданием нового env_name2, потому что вы можете использовать разные файлы конфигурации (.condarc) и каналы.

Попробуйте создать все среды из базовой.