运行Stable Diffusion时出现No module named 'ldm.util'错误求助
解决Stable Diffusion中
No module named 'ldm.util'; 'ldm' is not a package错误 以下是针对该报错的实用排查和解决步骤:
确认工作目录
必须在Stable Diffusion项目的根目录下运行脚本。如果当前在scripts子文件夹中,先回到根目录再执行命令:cd /path/to/stable-diffusion-root python3 scripts/txt2img.py --prompt "red velvet cake" --plms检查ldm包结构
根目录下的ldm文件夹必须包含__init__.py文件(空文件也可以),Python才会将其识别为合法包。如果该文件缺失,手动在ldm文件夹内创建一个空的__init__.py。验证虚拟环境状态
如果使用了虚拟环境,确保已激活对应环境:- Linux/macOS:
source venv/bin/activate - Windows(CMD):
venv\Scripts\activate.bat - Windows(PowerShell):
venv\Scripts\Activate.ps1
激活后重新执行pip install -e .,避免依赖安装到全局Python环境导致运行时无法识别。
- Linux/macOS:
清理冲突依赖并重装
- 卸载可能存在的全局冲突包:
pip uninstall -y ldm - 回到项目根目录,重新安装本地依赖:
pip install -e . pip install -r requirements.txt
- 卸载可能存在的全局冲突包:
手动添加Python路径
如果上述步骤无效,可临时将项目根目录加入Python路径:- Linux/macOS:
export PYTHONPATH=$(pwd) python3 scripts/txt2img.py --prompt "red velvet cake" --plms - Windows(CMD):
set PYTHONPATH=%cd% python scripts/txt2img.py --prompt "red velvet cake" --plms - Windows(PowerShell):
$env:PYTHONPATH = Get-Location python scripts/txt2img.py --prompt "red velvet cake" --plms
- Linux/macOS:
内容的提问来源于stack exchange,提问作者Art F
相关产品推荐
相关产品推荐

