文章摘要
引言 虽然我把 arch linux 装在了移动硬盘里,使得我可以同时在我的轻薄本和游戏本之间运行同一个系统,并拥有一个系统级同步的开发环境,但由于我之前将 stable-diffusion-webui 部署在了游戏本的win11上,这就导致我无法在带着轻薄本出门时使用 stable-diffusion-webui 来生成一些简单的 demo 。我的生图需求并不高,不需要生成复杂的模型和图片,所以…
引言 虽然我把 arch linux 装在了移动硬盘里,使得我可以同时在我的轻薄本和游戏本之间运行同一个系统,并拥有一个系统级同步的开发环境,但由于我之前将 stable-diffusion-webui 部署在了游戏本的win11上,这就导致我无法在带着轻薄本出门时使用 stable-diffusion-webui 来生成一些简单的 demo 。我的生图需求并不高,不需要生成复杂的模型和图片,所以没必要等着回去用游戏本或者用在线模型来满足这个需求。其次,我的游戏本和轻薄本都是win11与移动硬盘上的linux组成的双系统,这次我选择将其迁移到我的 arch-linux 中,方便在两台电脑都跑通 stable-diffusion-webui 。 折腾记录 第一个要解决的问题肯定是 python 版本问题,因为arch默认使用最新的 python , stable-diffusion-webui 文档(截至博客发布前)里推荐使用 python 3.10.6 , 所以我选择 pyenv 来管理多版本 python , 使用以下命令安装 pyenv 和 python 3.10.6 sudo pacman -S pyenv pyenv install 3.10.6 最新版的 python 我尝试了会报依赖错误, 我是报了类似这个帖子的错误 ERROR: Failed building wheel for tokenizers 手动装torch也报错 pip install torch==2.1.2 torchvision==0.16.2 --extra-index-url https://download.pytorch.org/whl/cu121 ERROR: Could not find a version that satisfies the requirement torch==2.1.2 (from versions: 2.2.0, 2.2.0+cu121, 2.2.1, 2.2.1+cu121, 2.2.2, 2.2.2+cu121, 2.3.0, 2.3.0+cu121, 2.3.1, 2.3.1+cu121) Github 上截至博客发布前也有相关 issues : Webui not working with Python 3.12 [Bug]: · Issue #15667 · AUTOMATIC1111/stable-diffusion-webui · GitHub 系统级 python 降级是不可能的,我也懒得折腾,所以还是用 pyenv 搞一个文档推荐的 python 环境来解决这个问题 克隆仓库,并修改 python 为指定版本 git clone https://github.com/openvinotoolkit/stable-diffusion-webui.git cd stable-diffusion-webui alias python=/home/styunlen/.pyenv/versions/3.10.6/bin/python alias python3=/home/styunlen/.pyenv/versions/3.10.6/bin/python python -m venv venv source venv/bin/activate webui.sh 中的 python 路径也可以手动改为以下内容 # python3 executable # if -z "${python_cmd}" ]] # then # python_cmd="python3" # fi python_cmd="/home/$USER/.pyenv/versions/3.10.6/bin/python" 接下来 requirements.txt 中的依赖可以使用 pip 安装也可以直接运行 ./webui.sh 来自动安装 export PYTORCH_TRACING_MODE=TORCHFX export COMMANDLINE_ARGS="--skip-torch-cuda-test --precision full --no-half" ./webui.sh # 或 pip install -r requirements.txt 后运行webui.sh 模型下载太慢的话可以用下载器下载,然后复制到当前目录就行了 512X512一分钟,虽然很慢,将就用用吧。 保存一下启动脚本,方便启动 cat EOF start.sh export PYTORCH_TRACING_MODE=TORCHFX export COMMANDLINE_ARGS="--skip-torch-cuda-test --precision full --no-half" ./webui.sh EOF 参考文档 Installation on Intel Silicon · openvinotoolkit/stable-diffusion-webui Wiki · GitHub Install and Run on AMD GPUs · AUTOMATIC1111/stable-diffusion-webui Wiki · GitHub引言
虽然我把arch linux装在了移动硬盘里,使得我可以同时在我的轻薄本和游戏本之间运行同一个系统,并拥有一个系统级同步的开发环境,但由于我之前将stable-diffusion-webui部署在了游戏本的win11上,这就导致我无法在带着轻薄本出门时使用stable-diffusion-webui来生成一些简单的demo。我的生图需求并不高,不需要生成复杂的模型和图片,所以没必要等着回去用游戏本或者用在线模型来满足这个需求。其次,我的游戏本和轻薄本都是win11与移动硬盘上的linux组成的双系统,这次我选择将其迁移到我的arch-linux中,方便在两台电脑都跑通stable-diffusion-webui。
折腾记录
第一个要解决的问题肯定是python版本问题,因为arch默认使用最新的python,
stable-diffusion-webui文档(截至博客发布前)里推荐使用 python 3.10.6, 所以我选择pyenv来管理多版本python, 使用以下命令安装pyenv和python 3.10.6
最新版的python我尝试了会报依赖错误,
我是报了类似这个帖子的错误ERROR: Failed building wheel for tokenizers
手动装torch也报错
pip install torch==2.1.2 torchvision==0.16.2 --extra-index-url https://download.pytorch.org/whl/cu121
ERROR: Could not find a version that satisfies the requirement torch==2.1.2 (from versions: 2.2.0, 2.2.0+cu121, 2.2.1, 2.2.1+cu121, 2.2.2, 2.2.2+cu121, 2.3.0, 2.3.0+cu121, 2.3.1, 2.3.1+cu121)
Github上截至博客发布前也有相关issues:
系统级python降级是不可能的,我也懒得折腾,所以还是用pyenv搞一个文档推荐的python环境来解决这个问题
克隆仓库,并修改python为指定版本
webui.sh中的python路径也可以手动改为以下内容
接下来requirements.txt中的依赖可以使用pip安装也可以直接运行./webui.sh来自动安装
模型下载太慢的话可以用下载器下载,然后复制到当前目录就行了
512X512一分钟,虽然很慢,将就用用吧。

保存一下启动脚本,方便启动
参考文档
本文采用 CC BY-NC-SA 4.0 协议进行授权,如无注明均为原创,转载请注明出处。
标题:在Arch Liunx里只用Intel Ultra 7 155H跑stable-diffusion-webui作者:九仞之行链接:http://dev.styunlen.cn/archives/post-1679.html
还没有评论呢 ~ 快来抢沙发吧 🛋️