как вернуться к поведению по умолчанию параметра env_prompt в .condar c? - PullRequest
0 голосов
/ 08 февраля 2020

Если вы создаете среду python в conda с флагом --prefix и активируете ее, после активации среда отображается по всему ее пути. Это может быть очень длинный путь, и, следовательно, документация conda предлагает исправление следующим образом. не go вернуться к поведению по умолчанию. Даже если вы активируете базовую среду, она покажет вам полный путь базовой среды вместо просто (base).

Например, я установил среду conda по пути Users/username/Documents/GitHub/test_flask/.env на C -приводе (Windows 10). BEFORE применение команды (conda config --set env_prompt '({name})'), после активации это выглядит так:

(C:\Users\username\Documents\GitHub\test_flask\.env) C:\Users\username\Documents\GitHub\test_flask>

И AFTER применение команды (conda config --set env_prompt '({name})'), если я активирую среду, это выглядит так:

(.env) C:\Users\username\Documents\GitHub\test_flask>

Отлично! Но теперь, если я деактивирую эту среду и / или активирую свою среду base, я получаю следующее:

'(Anaconda3)'C:\Users\username\Documents\GitHub\test_flask>

Однако я хотел бы вернуться :

'(base)'C:\Users\username\Documents\GitHub\test_flask>

Итак, как это исправить?

Ответы [ 2 ]

0 голосов
/ 20 марта 2020

Есть более бабарианский метод! «Проблема» происходит из файла .condra c.

  1. Удаление файла работает (мой был расположен в C: \ Users \ username, но .condar c do c дает вам другие места если не найдешь). В следующий раз, когда вы --set что-то в файле .condar c, conda вызовет его снова.

  2. Если вы уже использовали команду conda config, тогда ваш файл .condar c вероятно содержит другие строки, кроме env_prompt: "...". Затем найдите файл, откройте его (Notepad ++ хорошо работает) и удалите поврежденную строку.

Моя ОС: Win10-64 последняя версия

0 голосов
/ 08 февраля 2020

Решение

Оказывается, вам нужно сделать следующее, чтобы вернуться к поведению по умолчанию. Здесь мы устанавливаем поведение по умолчанию для переменной env_prompt в файле .condarc, снова перед деактивацией среды, которая была установлена ​​в месте, отличном от местоположения по умолчанию.

Предполагается, что вы создаете каталог python -environment (.env) в каталоге вашего проекта следующим образом:

conda env create --prefix ./.env -f envirnment.yml

Выполните следующие действия для активации и деактивации среды.

# for activating env
conda config --set env_prompt '({name})'
conda activate ./.env


# for deactivating env
conda config --set env_prompt '({default_env})'
conda deactivate
conda activate base

Описание переменной env_prompt

Источник: conda-config: .condarc Файл

### .condarc file (env_prompt section)

# # env_prompt (str)
# #   Template for prompt modification based on the active environment.
# #   Currently supported template variables are '{prefix}', '{name}', and
# #   '{default_env}'. '{prefix}' is the absolute path to the active
# #   environment. '{name}' is the basename of the active environment
# #   prefix. '{default_env}' holds the value of '{name}' if the active
# #   environment is a conda named environment ('-n' flag), or otherwise
# #   holds the value of '{prefix}'. Templating uses python's str.format()
# #   method.
# # 
# env_prompt: '({default_env}) '
...