Windows10 AMD GPU运行Stable Diffusion遇Python版本兼容错误
问题分析
核心矛盾是系统的python命令仍绑定Python 3.5,但diffusers的dml分支依赖Python 3.6+(f-string语法从Python 3.6开始支持),即使移除3.5的PATH或卸载该版本,系统仍存在残留关联导致命令执行异常。
解决方案
1. 直接指定Python 3.10路径执行命令
绕开系统的python别名,用Python 3.10的完整路径运行安装命令:
- 找到Python 3.10的安装目录(默认路径示例:
C:\Users\[你的用户名]\AppData\Local\Programs\Python\Python310) - 管理员CMD中执行:
替换cd diffusers && git checkout dml && "C:\Users\[你的用户名]\AppData\Local\Programs\Python\Python310\python.exe" -m pip install -e .[你的用户名]为实际系统用户名。
2. 修复系统Python默认关联
- 打开控制面板 > 程序 > 默认程序 > 按文件类型指定默认应用,将
.py、.pyw文件的默认打开程序设置为Python 3.10的python.exe - 右键此电脑 → 属性 → 高级系统设置 → 环境变量,在系统变量的
Path列表中,把Python 3.10的安装目录和Scripts子目录移到最顶部,确保优先级最高 - 管理员CMD中执行以下命令更新注册表关联:
替换用户名后重启CMD,执行assoc .py=Python.File ftype Python.File="C:\Users\[你的用户名]\AppData\Local\Programs\Python\Python310\python.exe" "%1" %*python --version确认输出为Python 3.10.8。
3. 排查虚拟环境(若曾使用)
如果之前创建过虚拟环境,可能环境内的Python版本仍为3.5:
- 删除旧虚拟环境,用Python 3.10重新创建:
"C:\Users\[你的用户名]\AppData\Local\Programs\Python\Python310\python.exe" -m venv sd_venv - 激活虚拟环境:
sd_venv\Scripts\activate.bat - 再执行
cd diffusers && git checkout dml && pip install -e .
验证
执行完上述操作后,在CMD中运行python --version,确认版本为3.10.8,再重新执行安装命令即可解决f-string语法错误。
内容的提问来源于stack exchange,提问作者ashaad.montgomery
相关产品推荐
相关产品推荐

