解决:Stable Diffusion 更新了Pytorch 提示错误:venv\Lib\site-packages\torchaudio\lib\libtorchaudio.pyd’ . Try using the full path with constructor syntax.).

SD有一段时间没有用过了,想着开源代码的优化,中间件的优化,计算速度会有所提升,于是在使用之前用了下 git pull 并更新了  torch: 2.1.2+cu121 xformers: 0.0.23.

更新后,碰到错误:

venv\Lib\site-packages\torchaudio\lib\libtorchaudio.pyd’ . Try using the full path with constructor syntax.).

无法执行提示报错。中间顺便更新了pip的版本到2.4

折腾了几个小时无果后,干掉了 Stable diffusion 目录下的 venv目录(windows系统)

重新执行sd重构venv目录,重构过程会根据当前python环境所在位置(

在此之前Anaconda重建了一个python 3.10.14干净环境,在环境里装入

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

和 xformers

并执行了SD目录下的 pip install -r requirements.txt

)拷贝到venv目录。

怕重构过程程序依赖叠加生变,

在SD\venv\Scripts\用此目录下的pip 执行了

pip install -U xformers
pip install –force-reinstall torchivsion

整个过程因为牵涉下载安装依赖项,需要漫长的等待,完事儿后再执行SD,我这里还有一些扩展的依赖报错(GitHub上面一年以上未更新的扩展),但是已经可以正常运行起来了。

整体步骤:

1、重建一个干净的python环境,做好path设定(windows11),删除掉旧SD目录下的venv目录

2、为干净的python 安装SD的依赖项 requirements.txt下的

3、安装好 torch对应的 CUDA(需要到英伟达下载,这里只说N卡)我是v12.4版本,然后安装torch (https://pytorch.org/get-started/locally/) 和 xformers

4、解决掉之前安装的extensions中的依赖如果碰到许久未更新的又是可有可无的,可以果断删除。