背景
众所周知,赛博菩萨已经发布了windows下的整合包,开箱即用,且集成度较高。
那我为啥非要在Ubuntu下使用呢? 当然是因为主力机就是Ubuntu系统啦。而且涉及到sd webui API 的调用,在Ubuntu 下调试更加方便一点。
那有没有可以在Ubuntu下使用的方式呢?
两种思路:
相比之下,方法一可能还会遇到一些网络问题,所以,我选择了更偷懒的方法二。
分析一下整合包的内容,其实就多了windows 下的git 和 python 的环境。
git Ubuntu 自带,windows 的python, Ubuntu也用不了,所以这两个直接删了,就可以进行改造了。
创建python 环境
我因为习惯用conda 管理,就用conda 创建了。SD-WebUI 是用python venv 管理的,在 webui-user.sh 中配置
conda 脚本
conda create -n sdweb python=3.10.6
conda activate sdweb
venv
# python3.10 -m venv <env name>
python3 -m venv venv
# 启动
source ./venv/bin/activate
# 退出
deactivate
安装所需环境
执行启动脚本,就会安装缺失的python包了。
bash webui.sh
需要注意,这里是bash, 不是sh
如果你选择从头安装的话,如下命令
wget -q https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui/master/webui.sh
启动
再次启动,需要重新激活
conda activate sdweb
bash webui.sh
就是这么简单。。。 就可以在Ubuntu 下使用了
可能遇到问题
如出现出现这个问题ValueError: Unknown scheme for proxy URL URL('socks://127.0.0.1:7897/')
应该是你上了科技
执行 unset all_proxy; unset ALL_PROXY
即可
REF
ubuntu22.04 部署 stable-diffusion-webui v1.1.0 基于趋动云部署秋葉aaaki的Stable Diffusion整合包v4–linux版总结
### 文章总结本文详细介绍了如何在Ubuntu系统中部署和使用Stable Diffusion Web UI(SD-WebUI)的步骤和解决方案,特别针对不熟悉Windows整合包的Ubuntu用户提供了两种可行方案,并推荐了更简单的方法。
#### 背景与需求
- **使用动机**:由于用户的主力机为Ubuntu系统,且SD-WebUI的API调用在Ubuntu下调试更便捷,因此选择在Ubuntu上部署。
- **两种方案**:
1. 使用SD-WebUI的安装脚本,并将相关插件等复制过去。
2. 直接复制整个Windows整合包,并进行适当改造以适应Ubuntu环境。
#### 方法选择与实现
- **选择方法二**:因方法一可能存在网络问题,作者选择了直接复制改造的方式。
- **分析整合包**:发现主要差异在于包含Windows下的git和Python环境,而Ubuntu自带git且不支持Windows Python,故将其删除。
#### 步骤详解
1. **创建Python环境**:
- 使用conda或Python的venv功能创建新的Python 3.10.6环境。
- 配置SD-WebUI以使用新创建的Python虚拟环境。
2. **安装所需环境**:
- 运行webui.sh脚本安装缺失的Python包。
- 如需从头开始,需要从GitHub下载webui.sh脚本。
3. **启动**:
- 激活Python虚拟环境并运行webui.sh启动SD-WebUI。
#### 可能遇到的问题及解决方案
- **代理错误**:
- 当出现`ValueError: Unknown scheme for proxy URL URL('socks://127.0.0.1:7897/')`时,表明可能使用了代理。
- 执行`unset all_proxy; unset ALL_PROXY`命令清除环境变量即可解决。
#### 参考文献
- 文章末尾提供了Ubuntu 22.04部署stable-diffusion-webui v1.1.0及其基于特定整合包的参考信息,便于读者进一步了解和扩展。