Я полностью перешел на Linux 4 месяца назад. Я смог установить Anaconda в моем Ubuntu 20.04, но я заметил что-то похожее на головную боль.
После настройки среды мне нужно было изменить версию Python, которую она использует, с 3.10 на 3.8. Поэтому я использовал эти команды:
conda activate my_env
conda install python=3.8
что является стандартным способом сделать это в Anaconda.
Однако я заметил, что он загрузил в среду новые пакеты Python 3.8, несмотря на то, что Python 3.8 уже был предустановлен в моей системе.
Как настроить conda
среду для использования существующей версии Python, уже установленной в моей системе, без загрузки копии из Интернета?
решение1
То, что вы заметили, верно и именно так и conda
должно работать.
Используя команды conda activate my_env
, conda install python=3.8
вы сначала говорите conda
активироватьвиртуальная средаи my_env
затем установите в него Python 3.8.
Авиртуальная средаэто среда (представьте себе ее как специальную папку), которая используется для установки Python (или другого поддерживаемого языка), а также пакетов и их зависимостей независимо от основной ОС. У нее есть большое преимущество в том, что все установленные в ней пакеты не повлияют на те, которые предустановлены вместе с ОС, поэтому с ними можно работать (обновлять, понижать версию, удалять и т. д.) по отдельности, эффективно устраняя поломки основной системы из-за неудовлетворенных зависимостей и т. д. В случае Python, в частности, это одна из наиболее распространенных причин, по которым пользователи в конечном итоге получают сломанную систему.
Итак, в вашем случае, когда вы хотели использовать Python 3.8 в my_env
, Python 3.8 пришлось бы загрузить снова, поскольку, как уже было сказано, версия Python среды независима от версии основной ОС. Вы не можете, или, лучше сказать, не должны использовать установку системы в вашей виртуальной среде, так как это противоречит цели наличия виртуальной среды в первую очередь и может легко привести к поломке системы.