事情是这样的:zsh在启用了django插件以后,对 ./manage.py 和 manage.py 均有自动补全,而对形如 python manage.py 的命令没有自动补全。不巧的是,由于OS X下默认Python版本为2, manage.py 的默认Shebang又是 #!/usr/bin/env python ,也就是说,如果我要使用Python 3进行开发,则无法使用zsh的自动补全功能。
经过一番研究,很快解决了这个问题。只需将以下内容添加到 ~/.zshrc :
1 2 3 4 5 6 |
# Django auto completion # compdef _managepy django django() { python3 ./manage.py $@ } |
另外,如果需要把Python 3作为默认Python版本,可以使用:
1 2 3 4 5 6 7 |
# let python3 to be default python # and python2 needs to be set explicitly # alias python2="\python" alias python="python3" alias pip2="\pip" alias pip="pip3" |