Mac运行./manage.py runserver报错env: python: No such file or directory求助
问题解决:Mac上运行Django manage.py报错“env: python: No such file or directory”
问题原因
你在.zshrc里设置的alias python='python3'只在交互式Shell里生效,而manage.py脚本的开头是#!/usr/bin/env python,会直接让系统通过env查找python命令——你的系统里只有python3,没有名为python的可执行文件,所以报错。
解决方法
方法1:直接用python3运行脚本
最简单的临时解决方式,跳过脚本的shebang,直接指定Python解释器:
python3 manage.py runserver
方法2:修改manage.py的shebang行
打开manage.py文件,把第一行的:
#!/usr/bin/env python
改成:
#!/usr/bin/env python3
保存后再执行./manage.py runserver即可生效。
方法3:创建系统级python软链接到python3
如果希望全局都能用python命令指向python3,可以创建软链接:
- Intel芯片Mac:
sudo ln -s /usr/local/bin/python3 /usr/local/bin/python
- Apple Silicon芯片Mac:
sudo ln -s /opt/homebrew/bin/python3 /opt/homebrew/bin/python
执行完后关闭当前Shell窗口,重新打开,再运行./manage.py runserver即可。
额外提示
后续创建Django项目时,也可以用python3 django-admin startproject xxx来确保项目的manage.py自动使用python3的shebang(如果django-admin是通过python3安装的,默认会生成正确的shebang)。
内容的提问来源于stack exchange,提问作者overbyte
相关产品推荐
相关产品推荐

