fish shell如何判断运行环境是否为venv,避免pipenv shell下自动cd?
fish shell 虚拟环境判断配置方案
- fish shell 没有内置的
is-venv判断命令,所有标准Python虚拟环境(含venv、virtualenv、pipenv生成的环境)激活时,都会自动设置VIRTUAL_ENV环境变量,通过判断该变量是否存在即可确认当前是否处于虚拟环境中。 - 你可以直接使用如下配置替换原有逻辑,完全匹配你需要的效果:
# ~/.config/fish/config.fish 最终配置 if status is-interactive and not set -q VIRTUAL_ENV cd $HOME/d/ end
- 补充说明:
set -q VIRTUAL_ENV是fish shell中查询指定变量是否存在的原生语法,返回值为0表示变量存在(处于虚拟环境),返回值为1表示变量不存在(未进入虚拟环境)。
内容的提问来源于stack exchange,提问作者Jacob Chapman
相关产品推荐
相关产品推荐

