更新Python后启动Django报Unable to create process错误如何解决
问题现象
更新本地Python版本后,在命令提示符启动Django服务时抛出如下错误:
Unable to create process using 'C:\Users\ALFRED\AppData\Local\Programs\Python\Python311\python.exe manage.py runserver': The system cannot find the file specified.
错误核心原因是系统、脚本或环境配置中硬编码了旧版本Python(Python311)的安装路径,更新版本后旧路径下的python.exe已被移除/移动,导致无法创建对应进程执行启动指令。
排查修复步骤
- 第一步:确认当前Python有效安装路径
打开新的命令提示符窗口,执行where python,查看输出的Python可执行文件实际路径,确认旧的Python311路径是否已经不存在,记录新的Python安装根目录路径(比如C:\Users\ALFRED\AppData\Local\Programs\Python\Python312\)。 - 第二步:验证启动指令有效性
切到Django项目的manage.py文件所在目录,不要直接执行manage.py runserver,而是用刚查到的新Python完整路径拼接启动命令执行,示例:
如果这条命令能正常启动服务,说明问题确实出在路径关联配置上,按后续步骤修复即可。C:\Users\ALFRED\AppData\Local\Programs\Python\Python312\python.exe manage.py runserver - 第三步:修复系统环境变量配置
打开系统环境变量编辑面板,在用户变量和系统变量的Path条目中,把所有指向旧Python311目录、旧Python311/Scripts目录的条目全部删除,再把新Python的安装根目录、新Python下的Scripts目录路径添加到Path中,保存后重启命令提示符窗口再试。 - 第四步:修复虚拟环境(如果使用了虚拟环境)
旧虚拟环境会硬编码创建时的Python解释器路径,更新Python后旧虚拟环境会直接失效,直接删除项目下旧的venv(或自定义命名的虚拟环境)文件夹,用新Python重新创建虚拟环境:
激活虚拟环境后重新执行python -m venv venvpip install -r requirements.txt安装所有项目依赖(包括Django),再启动服务即可。 - 第五步:修复.py文件默认打开关联
如果上述步骤做完还是报错,打开Windows设置-应用-默认应用-按文件类型指定默认应用,找到.py后缀,将默认打开程序修改为新安装路径下的python.exe,避免系统调用已失效的旧Python关联。 - 第六步:修复pip关联异常
执行pip --version查看输出的Python路径,如果仍然指向旧的Python311路径,后续安装依赖时统一使用python -m pip install 包名的格式,确保调用当前关联的Python解释器对应的pip,避免旧pip脚本硬编码路径导致的报错。
内容的提问来源于stack exchange,提问作者Alfred
相关产品推荐
相关产品推荐

