本文发布于 2024-06-28, 最后更新于 789 天前,其中的信息可能已经有所发展或是发生改变。

文章摘要

引言 虽然我把 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, 使用以下命令安装pyenvpython 3.10.6

text
sudo pacman -S pyenv pyenv install 3.10.6

克隆仓库,并修改python为指定版本

bash (Auto identified)
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路径也可以手动改为以下内容

text
# 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来自动安装

text
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一分钟,虽然很慢,将就用用吧。

保存一下启动脚本,方便启动

text
cat << EOF > start.sh export PYTORCH_TRACING_MODE=TORCHFX export COMMANDLINE_ARGS="--skip-torch-cuda-test --precision full --no-half" ./webui.sh EOF

参考文档

九仞之行

严于律己,宽以待人,深自警省,讷言敏行

订阅
💬 评论 (0)

还没有评论呢 ~ 快来抢沙发吧 🛋️

编辑器加载中…