我曾经进入 pyenv,它的版本在左侧以红色显示“(3.xx),然后,进入特定文件夹时,标签更改为蓝色的 venv 名称“(venv_x)。
现在我不得不重新开始我的工作,但是 Python 版本不是红色的,而且我进入时的 venv 名称也不是蓝色的。
还有一点是,蓝色环境 thesis 在输入时处于激活状态。现在它不会自动发生,我source /bin/activate
每次都必须激活。
有人能向我解释一下 Ubuntu/WSL 中彩色“(标签)”的含义以及如何使特定的虚拟环境自动激活吗?
图片:在左侧的红色部分,您可以看到“()”内的“标签”是什么意思,并且还可以看到,当cd ./thesis
它不会自动激活时,标签也不是蓝色的。
答案1
您提到的功能由 shell(默认情况下通常为 Bash)的提示功能处理。Ubuntu 中的默认 Bash 提示相当简单,几乎只包括:
- 用户名
- “@”符号作为分隔符
- 主机名(在 WSL 上,默认为你的 Windows 计算机名称)
- 当前工作目录
- “$”分隔符
例如:
salvo@Salvo ~$ <command goes here>
在重置之前的某个时候,你显然安装了一个自定义提示功能。大多数自定义提示功能都有其他功能,例如:
- 检测您何时处于 venv 中并显示 venv 的名称
- 检测您何时位于 Git 存储库中并显示有关 Git 存储库(例如分支)的信息和状态。
我通常不会自己运行自定义提示,所以我无法确切地告诉你你安装了哪一个。不过,我猜一下——从我看到的关于它的问题数量来看,我感觉你在设置 WSL 时遵循了某种教程并安装了噢我的天啊和 Zsh shell。然而,它可能是无数其他 shell 中的一个。
这星舰提示也为 Bash 提供了此功能。
或者鱼壳,这是我通常使用的,具有这些功能的默认提示。
最后,回到精确提示如果你之前有过这样的经历,你可能会想尝试找到你遵循的教程(也许在你的浏览器历史记录中?)。然而,希望这对你来说不那么重要,因为它看起来确切地同样,更重要的是它具有您想要的功能。