在激活conda环境foo时,如何让Python脚本创建的bar环境为顶级环境?
解决conda环境创建在子目录的问题
当前激活foo环境时,conda会临时调整环境目录的优先级,导致新环境默认建在当前环境的envs子目录下。要让bar成为顶级环境,试试这几个办法:
指定顶级环境路径
直接用--prefix参数明确指定创建位置到conda的顶级envs目录,修改你的脚本命令:run_command(Commands.CREATE, "--prefix", "MYHOME/miniconda3/envs/bar", "python=3", "flask")这样不管当前激活哪个环境,
bar都会被建在顶级目录,conda能正常识别它。临时重置环境目录变量
在执行创建命令前,先设置CONDA_ENVS_DIRS环境变量,强制conda只使用顶级envs目录:import os os.environ['CONDA_ENVS_DIRS'] = 'MYHOME/miniconda3/envs' # 再执行创建命令 run_command(Commands.CREATE, "-n", "bar", "python=3", "flask")跳过当前环境的配置影响
在创建命令里加上--no-user-config参数,忽略当前激活环境的配置,强制使用base环境的默认设置:run_command(Commands.CREATE, "-n", "bar", "--no-user-config", "python=3", "flask")
内容的提问来源于stack exchange,提问作者maciek
相关产品推荐
相关产品推荐

