Ubuntu 16.04下zsh无法识别pip3安装的命令但bash可正常使用的问题
解决zsh中找不到django-admin和virtualenv命令的问题
这问题我太熟了!本质就是zsh的PATH环境变量没有包含pip3安装可执行文件的目录,而bash默认已经配置好了这个路径,所以切换过去就能正常使用。下面是一步步的解决方法:
1. 定位pip3安装可执行文件的目录
首先得确认pip3把django-admin、virtualenv这些命令装到了哪里。在任意终端(bash或zsh都可以)运行:
python3 -m site --user-base
你会得到类似/home/你的用户名/.local的输出,对应的可执行文件目录就是这个路径下的bin文件夹,也就是~/.local/bin(~代表你的用户主目录)。
2. 将目录添加到zsh的PATH中
zsh启动时会读取~/.zshrc配置文件,我们需要把刚才找到的路径加到里面:
- 打开
~/.zshrc文件,用你习惯的编辑器就行,比如:nano ~/.zshrc - 在文件末尾添加一行:
export PATH="$HOME/.local/bin:$PATH" - 保存并退出编辑器(nano里按
Ctrl+O,回车确认保存,再按Ctrl+X退出)。
3. 让配置立即生效
在zsh终端里运行以下命令,让刚才的配置生效:
source ~/.zshrc
或者直接关闭当前zsh窗口,重新打开一个新终端也能生效。
验证解决效果
现在再输入命令试试:
django-admin --version virtualenv --version
应该能正常显示对应的版本号了!
为什么bash可以正常运行?
Ubuntu默认的bash配置文件~/.profile里已经包含了export PATH="$HOME/.local/bin:$PATH"这一行,bash启动时会自动加载这个配置,所以能找到pip3安装的命令。而zsh默认不会加载~/.profile,所以得手动把路径加到~/.zshrc里。
内容的提问来源于stack exchange,提问作者Tanmay
相关产品推荐
相关产品推荐

