местоположение по умолчанию для пакетов - это папка .conda в моем домашнем каталоге. однако на сервере, который я использую, существует очень строгий предел того, сколько места я могу использовать, что в основном позволяет мне не помещать что-либо в мой домашний каталог. как я могу указать местоположение виртуальной среды, которую я хочу создать? Благодарю! сервер работает под управлением Ubuntu.
Как указать новое местоположение среды для создания конды
Ответ 1
Используйте параметр --prefix
или -p
, чтобы указать, где писать файлы окружения. Например:
conda create --prefix /tmp/test-env python=2.7
Создает среду с именем /tmp/test-env
, которая находится в /tmp/
вместо стандартного .conda
.
Ответ 2
как сказал Павел, используйте
conda create --prefix=/users/.../yourEnvName python=x.x
если вы находитесь в папке, в которой вы хотите создать свою виртуальную среду, просто опустите путь и используйте
conda create --prefix=yourEnvName python=x.x
Конда только отслеживает среды, включенные в папку envs внутри папки anaconda. В следующий раз, когда вам нужно будет активировать новый env, перейдите в папку, в которой вы ее создали, и активируйте ее с помощью
source activate yourEnvName
Ответ 3
Пока работает опция --prefix
, вы должны явно использовать ее каждый раз, когда создаете среду. Если вы просто хотите, чтобы ваши среды по умолчанию хранились где-то еще, вы можете настроить их в своем файле .condarc
.
Пожалуйста, смотрите: https://conda.io/docs/user-guide/configuration/use-condarc.html#specify-environment-directories-envs-dirs
Ответ 4
Вы можете создать это так
conda create --prefix C:/tensorflow2 python=3.7
и вам не нужно переходить в эту папку, чтобы активировать ее.
# To activate this environment, use:
# > activate C:\tensorflow2
Как видите, я делаю это так.
D:\Development_Avector\PycharmProjects\TensorFlow>activate C:\tensorflow2
(C:\tensorflow2) D:\Development_Avector\PycharmProjects\TensorFlow>
(C:\tensorflow2) D:\Development_Avector\PycharmProjects\TensorFlow>conda --version
conda 4.5.13
Ответ 5
Я столкнулся с подобной ситуацией. У меня был доступ к большему диску данных. В зависимости от вашей ситуации и доступа к серверу вы можете рассмотреть
ln -s /datavol/path/to/your/.conda /home/user/.conda
Затем последующие команды conda будут помещать данные в каталог с символическими ссылками в datavol
Ответ 6
Если вы хотите использовать --prefix
или -p
, но хотите избежать использования полного пути среды для его активации, вам необходимо отредактировать .condarc
конфигурации .condarc
перед созданием среды.
Файл .condarc
находится в домашнем каталоге; C:\Users\<user>
в Windows. Отредактируйте значения в ключе envs_dirs
чтобы включить пользовательский путь для вашей среды. Предполагая, что пользовательский путь - D:\envs
, файл должен выглядеть примерно так:
ssl_verify: true
channels:
- defaults
envs_dirs:
- C:\Users\<user>\Anaconda3\envs
- D:\envs
Затем, когда вы создаете новую среду по этому пути, ее имя будет отображаться вместе с путем при запуске conda env list
, и вы сможете активировать его, используя только имя, а не полный путь.
Таким образом, если вы отредактируете .condarc
для включения D:\envs
, а затем запустите conda env create -p D:\envs\myenv python=xx
, то activate myenv
(или source activate myenv
в Linux) должно работать.
Надеюсь, это поможет!
PS Я наткнулся на это методом проб и ошибок. Я думаю, что происходит, когда вы редактируете ключ envs_dirs
, conda обновляет ~\.conda\environments.txt
чтобы включить среды, найденные во всех каталогах, указанных в envs_dirs
, чтобы к ним можно было обращаться без использования абсолютных путей.