Anaconda安装Django后提示command not found: django-admin如何解决
Conda环境下Django命令找不到、VS Code导入报错排查方案
前置校验:确认虚拟环境与Django安装正确性
- 打开终端先执行
conda activate 你的目标虚拟环境名称,彻底退出base环境,切到你之前安装Django的独立虚拟环境 - 执行
which python(Mac/Linux)或where python(Windows),确认返回的解释器路径属于当前激活的虚拟环境,而非base环境、系统全局Python - 执行
pip show django,如果无返回结果,说明Django未安装到当前环境,直接执行pip install django==4.0重新安装;如果有返回结果,记录下Location字段对应的site-packages路径,确认属于当前虚拟环境目录
修复command not found: django-admin报错
- 优先使用无路径依赖的调用方式:直接执行
python -m django --version,只要当前环境装了Django,这个命令一定能正常返回版本号。后续创建项目、执行数据库迁移等操作都可以用python -m django前缀替代django-admin,完全规避路径配置问题,效果完全一致 - 如果需要直接调用django-admin命令,按以下步骤修复路径:
- 执行
python -c "import sysconfig; print(sysconfig.get_path('scripts'))"拿到当前虚拟环境的可执行脚本目录 - Mac/Linux用户:执行
echo "export PATH=\$PATH:刚才拿到的脚本目录路径" >> ~/.zshrc(默认zsh终端),如果用bash就把后缀改成.bashrc,之后执行source ~/.zshrc重载终端配置即可 - Windows用户:把拿到的Scripts目录路径添加到系统环境变量PATH中,重启终端生效
- 执行
修复VS Code弹出的Django导入报错
- 在VS Code中按快捷键
Ctrl+Shift+P(Windows/Linux)/Cmd+Shift+P(Mac)调出命令面板,搜索并选择Python: Select Interpreter - 在下拉列表中选中你之前安装Django的conda虚拟环境对应的Python解释器,不要选择base环境、全局系统Python的解释器
- 打开VS Code设置,搜索
python.terminal.activateEnvironment,勾选该选项,确保每次打开内置终端时自动激活选中的虚拟环境 - 重启VS Code内置终端,确认终端行首显示当前虚拟环境名称的前缀(如
(django_env) $),再运行Django相关代码就不会出现导入错误
常见踩坑点:不要在base环境装Django之后切到其他虚拟环境开发,也不要用sudo/全局pip安装Django,否则很容易出现解释器和安装包路径不匹配的问题
内容的提问来源于stack exchange,提问作者kelly
相关产品推荐
相关产品推荐

