python ~/.zshrc 中的别名覆盖虚拟环境源

python alias in ~/.zshrc overrides virtual environment source

我在终端会话初始化中设置了几个别名 shell 脚本 ~/.zshrc

alias python=/opt/homebrew/bin/python3.9
alias pip=/opt/homebrew/bin/pip3.9

这些干扰了我的虚拟环境工作流程:

>>> cd my_project
>>> python -m venv venv
>>> source venv/bin/activate
>>> which python
python: aliased to /opt/homebrew/bin/python3.9

你可以看到虚拟环境没有被激活。关于在我的 ~/.zshrc 中设置这些别名时如何使用 venv 的任何建议?

创建一个目录~/bin。在该目录中创建两个链接:

ln -vs /opt/homebrew/bin/python3.9 ~/bin/python
ln -vs /opt/homebrew/bin/pip3.9 ~/bin/pip

编辑您的 .zshrs 以包括:

export PATH=~/bin:$PATH

链接将隐藏正常的可执行文件。当 virtualenv 被激活时,链接将被 virtualenv 设置的 PATH 隐藏。