如果在conda
中创建带有--prefix
标志的python环境并激活它,则整个路径显示了激活后的环境。这可能是一个很长的路径,因此conda-文件建议进行如下修复。
conda config --set env_prompt '({name})'
问题是,当您
deactivate
这个环境时,就不会回到默认的行为。即使激活了基本环境,它也会向您展示基本环境的整个路径,而不仅仅是(base)
。
例如,我在C-驱动器(Windows 10)上的path Users/username/Documents/GitHub/test_flask/.env
下安装了conda环境。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>
那么,如何解决这个问题?
发布于 2020-02-07 23:46:39
解决方案
结果表明,您需要执行以下操作才能返回默认行为。在这里,我们在env_prompt
文件中设置.condarc
变量的默认行为,在禁用安装在非默认位置的环境之前也是如此。
假设您在项目目录下创建了python目录(.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
变量的描述
来源:文件
### .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}) '
发布于 2020-05-15 20:20:28
据我所知,要求使用conda env config vars
的命令应该解决这些问题,但出于某种原因,我使用这样的命令更改env_prompt
变量没有效果。
但我想出了另一种方法:您所需要的只是将一个全新的.condarc
文件放到您的环境的根目录中。以你为例,C:\Users\username\Documents\GitHub\test_flask\.env\.condarc
。这样的内容就足够了:
env_prompt: '({name}) '
请注意,您可能需要激活您的环境两次(第一次加载本地.condarc,第二次使用它)。
这样做的另一种方法是,在所需的环境处于活动状态时,在conda config
中使用conda config
选项:
conda activate .\.env
conda config --set env_prompt '({name})' --env
它似乎更健壮和方便,但这对我来说是不合适的,因为我是在makefile的上下文中工作。
如果使用命令conda info
,则可以看到哪些配置文件有效。
发布于 2020-10-15 13:50:56
如果您只想返回到默认设置,请使用以下命令(如env_prompt
部分所示)。在我的例子中,我的一个环境是活动的,所以我想它是一个全局变量。
$ conda config --set env_prompt '({default_env}) '
注意,在新激活某些环境后,更改是可见的,例如:
$ conda deactivate
$ conda activate base
https://stackoverflow.com/questions/60122569
复制相似问题