
ModuleNotFoundError: No module named ‘pkg_resources’
快速结论:此报错通常出现在 Stable Diffusion WebUI 的自动安装脚本无法正确创建或激活 Python 虚拟环境时。优先排查 python3-venv 是否安装,并手动运行 python3 -m venv venv/ 重新生成虚拟环境。
问题场景
用户在 Linux 系统(如 Linux Mint、Ubuntu)上运行 Stable Diffusion WebUI 的自动安装脚本 webui.sh 时,遇到 ERROR: Cannot activate python venv, aborting... 错误,导致启动失败。部分用户已安装 python3-venv 但仍出现此问题。
报错原文
ERROR: Cannot activate python venv, aborting...
bash: venv/bin/activate: No such file or directory
原因分析
可能原因如下:
python3-venv包未安装或版本不匹配。- 虚拟环境目录
venv/未正确生成,导致缺少bin/activate文件。 - 系统 Python 版本与 WebUI 期望的版本不一致(如本地 Python 3.10,但 venv 是 Python 3.8 构建的)。
ensurepip组件缺失或禁用,导致python3 -m venv venv/执行失败。- 权限问题(文件归属或目录权限不足)。
环境排查
- 确认 Python 版本:
python3 --version - 确认
python3-venv已安装:python3 -c 'import venv'(无报错表示正常) - 确认虚拟环境目录
venv/存在且包含bin/activate - 检查
ensurepip是否可用:python3 -Im ensurepip --upgrade --default-pip - 检查文件权限:
ls -la venv/
解决步骤
- 安装 python3-venv(如果缺失):
sudo apt update sudo apt install python3-venv - 删除旧的 venv 目录:
cd stable-diffusion-webui rm -rf venv - 手动创建虚拟环境(使用系统 Python):
python3 -m venv venv/注意:如果提示
ensurepip不可用,可尝试添加--without-pip参数:python3 -m venv venv/ --without-pip若权限不足,添加
sudo:sudo python3 -m venv venv/ - 验证虚拟环境已生成:
ls -la venv/bin/activate - 重新运行 WebUI 安装脚本:
./webui.sh或:
bash webui.sh - 如果仍有 Python 版本不匹配问题:为特定 Python 版本安装
-venv包,例如 Python 3.8:sudo apt install python3.8-venv然后使用对应版本创建 venv:
python3.8 -m venv venv/ - 如果存在文件权限问题:修改目录归属为当前用户:
sudo chown -R $USER:$USER stable-diffusion-webui然后重新运行脚本。
验证方法
执行 source venv/bin/activate 后不报错,并看到终端提示符前出现 (venv),说明虚拟环境激活成功。然后再次运行 ./webui.sh,不再出现 Cannot activate python venv 错误,WebUI 成功启动。



