Python 3.10.x初始化Stable Diffusion时出现'str'无isascii属性错误
解决Stable Diffusion部署时的Py_Initialize编码错误
我尝试部署Stable Diffusion 1.5,先后安装Python 3.10.6和3.10.9(已卸载旧版本避免冲突),运行web-user.bat初始化时触发以下错误:
Python 3.10.9
venv "D:\Stable Diffusion\stable-diffusion-webui\venv\Scripts\Python.exe"
Fatal Python error: Py_Initialize: unable to load the file system codec
Traceback (most recent call last):
File "C:\Users\XX\AppData\Local\Programs\Python\Python310\lib\encodings_init_.py", line 85, in search_function
File "C:\Users\XX\AppData\Local\Programs\Python\Python310\lib\encodings_init_.py", line 64, in normalize_encoding
AttributeError: 'str' object has no attribute 'isascii'
Premere un tasto per continuare . . .
解决步骤
1. 彻底重装Python
- 卸载当前Python版本,删除残留文件:
- 删除
C:\Users\XX\AppData\Local\Programs\Python\Python310文件夹 - 清理系统环境变量中所有Python相关路径
- 删除
- 下载Python 3.10.6官方安装包,安装时勾选Add Python to PATH,选择Install for all users,避免权限或路径问题。
2. 重建虚拟环境
- 删除Stable Diffusion根目录下的
venv文件夹 - 打开命令提示符,切换到Stable Diffusion项目目录:
cd D:\Stable Diffusion\stable-diffusion-webui - 手动创建并激活虚拟环境:
python -m venv venv venv\Scripts\activate.bat - 手动安装依赖:
pip install -r requirements.txt - 完成后运行
web-user.bat
3. 调整系统区域设置
- 按下Win+I打开设置,进入「时间和语言」→「语言和区域」
- 将「区域格式」设置为中文(简体,中国)或英文(美国),避免特殊编码干扰
- 重启电脑后再次尝试启动脚本
4. 修复Python编码模块
如果重装Python后仍报错,大概率是encodings模块损坏:
- 从一台正常运行Python 3.10的设备上复制
C:\Python310\lib\encodings文件夹 - 替换本地
C:\Users\XX\AppData\Local\Programs\Python\Python310\lib\encodings文件夹
内容的提问来源于stack exchange,提问作者Ale
相关产品推荐
相关产品推荐

