Mac zsh提示pip/django-admin命令不存在及(base)环境相关疑问
问题解答
关于(base)标识
(base)确实代表你当前处于虚拟环境,是安装Anaconda/Miniconda时默认开启了「终端启动自动激活base环境」配置导致的。这个环境自带独立的Python、pip解释器,和你之前调用的系统自带python3属于完全隔离的两套环境,两边安装的包不互通,这也是为什么你在base环境里能正常跑pip list,但找不到之前装的Django的原因。
初始报错原因
- Mac系统默认不会给Python3配置
python、pip的命令别名,只保留python3、pip3命令,所以直接敲python、pip报zsh: command not found是正常现象,不是安装出错。 - 你之前执行
python3 -m pip install Django时,把Django装到了系统Python3.8的用户目录下,对应的django-admin可执行文件存放在/Users/myname/Library/Python/3.8/bin路径里,这个路径默认没加进zsh的环境变量PATH,终端找不到对应文件,就会报命令不存在。
修复方案
你可以根据自己的使用习惯二选一:
方案1:用系统自带Python(关闭base自动激活)
- 先关掉conda base的自动启动,终端执行:
conda config --set auto_activate_base false
- 把系统Python的用户可执行文件路径加入zsh环境变量,执行:
echo 'export PATH="$HOME/Library/Python/3.8/bin:$PATH"' >> ~/.zshrc
- (可选)配置别名省得每次敲3后缀,执行:
echo 'alias python="python3"' >> ~/.zshrc echo 'alias pip="pip3"' >> ~/.zshrc
- 加载配置让修改立刻生效:
source ~/.zshrc
操作完重启终端,再执行django-admin --version、pip list、python --version都能正常运行。
方案2:用conda base环境开发
如果觉得自动进base环境用着方便,就在带(base)前缀的终端里直接执行pip install Django,装完就能正常调用django-admin命令,不用额外改环境变量。注意之前装在系统Python里的Django这个环境用不了,必须在当前环境重装一次。
内容的提问来源于stack exchange,提问作者kelly
相关产品推荐
相关产品推荐

