我需要在 Linux 上扩展活动 Conda 环境的 PATH 变量,但它似乎并不像我想象的那么简单。我的挑战是这样的:
如果我在 Conda 环境处于活动状态时使用其他路径扩展 PATH 变量,它不仅会影响该环境的 PATH 变量。当我停用时,我可以很意外地看到扩展也已添加到基本环境的 PATH 变量中。这是预期的行为还是我的系统出现了奇怪的情况?我的命令很简单:
PATH=$PATH:<another_path>:<another_path>
我原以为这只会对活跃环境产生影响。这怎么会影响基础环境的 PATH 变量呢?
我也尝试过通过
设置它conda env config vars set
这可行,但每次激活环境时都会产生恼人的警告。如果没有简单的方法来做到这一点,我会感到有点惊讶,因为 Conda 功能背后的核心理念是操纵 PATH 变量。谢谢。
conda 不会在您的 env 处于活动状态时跟踪您对环境变量所做的操作,然后在停用您的 env 时反转这些操作。
如果在激活环境时应始终对 PATH 进行更改,则可以执行类似于答案的操作此处:
在您的 env 文件夹中,创建文件
activate.d/env_vars.sh
并填充以下内容:
export OLD_PATH=${PATH}
export PATH=/your/path:${PATH}
然后创建文件
deactivate.d/env_vars.sh
并放入
export PATH=${OLD_PATH}
unset OLD_PATH