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

Ale*_*exG 3 python bash python-venv

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

alias python=/opt/homebrew/bin/python3.9
alias pip=/opt/homebrew/bin/pip3.9
Run Code Online (Sandbox Code Playgroud)

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

>>> cd my_project
>>> python -m venv venv
>>> source venv/bin/activate
>>> which python
python: aliased to /opt/homebrew/bin/python3.9
Run Code Online (Sandbox Code Playgroud)

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

Kam*_*Cuk 5

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

ln -vs /opt/homebrew/bin/python3.9 ~/bin/python
ln -vs /opt/homebrew/bin/pip3.9 ~/bin/pip
Run Code Online (Sandbox Code Playgroud)

编辑您的内容.zshrs以包括:

export PATH=~/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

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