部署open-webui
在启动open-webui服务时出现无法加载模块的情况,具体操作如下
# 安装常用的工具包
yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
yum groupinstall "Development Tools"
#创建目录
mkdir -p /data/soft/openssl/
#下载安装包
wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz
# 解压压缩包
tar -zxvf openssl-1.1.1w.tar.gz
#进入解压目录
cd openssl-1.1.1w
#配置编译安装目录 注意查看目录是否有覆盖 /usr/local/openssl
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared
# 编译安装
make && make install
# 设置扩展加载目录
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
# 重新加载扩展加载目录是之生效
ldconfig -v
ldconfig
#版本信息查看
/usr/local/openssl/bin/openssl version
OpenSSL 1.1.1w 11 Sep 2023
# 创建包的安装目录,以及pip临时目录
mkdir -p /data/soft/pyton-packages-tmp
mkdir -p /data/soft/pyton-packages
# python3.11安装目录
mkdir -p /data/soft/python3.11
#python压缩包下载
wget https://mirrors.huaweicloud.com/python/3.11.11/Python-3.11.11.tgz
#压缩包解压
tar -xvf Python-3.11.11.tgz
#进入到解压目录
cd Python-3.11.11
ls
# 指定python安装目录,以及编译时使用的openssl
./configure --with-openssl=/usr/local/openssl LDFLAGS="-L/usr/local/openssl/lib" CPPFLAGS="-I/usr/local/openssl/include" --prefix="/data/soft/python3.11"
make && make install
# 下载安装sqlite压缩包
wget https://www.sqlite.org/2024/sqlite-autoconf-3450100.tar.gz
# 解压安装sqlite压缩包
tar xvf sqlite-autoconf-3450100.tar.gz
# 进入解压安装目录
cd sqlite-autoconf-3450100
# 设置安装目录注意安装目录下是否有覆盖 /usr/local
./configure --prefix=/usr/local
make && make install
#设置库加载及立即升级
echo "/usr/local/lib" | tee /etc/ld.so.conf.d/sqlite.conf
ldconfig
# 启动open-webui不生效需设置软连接
cd /usr/bin/
mv sqlite3 sqlite3_old
ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3
#设置临时环境变量
export PIP_CACHE_DIR=/data/soft/pyton-packages-tmp
pip换源
/data/soft/python3.11/bin/pip3.11 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
#pip下载安装 指定包下载路径
/data/soft/python3.11/bin/pip3.11 install open-webui --target=/data/soft/pyton-packages
#设置临时环境变量 环境变量可添加到 家目录的.bashrc文件中
export PYTHONPATH=/data/soft/pyton-packages/open_webui:$PYTHONPATH
#设置临时环境变量
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
# 修改open-webui启动,执行文件新加入__import__('pysqlite3'),sys.modules['sqlite3'] = sys.modules.pop('pysqlite3')
cd /data/soft/pyton-packages/bin
vim open-webui
#修改如下,以及图示
#!/data/soft/python3.11/bin/python3.11
# -*- coding: utf-8 -*-
import re
__import__('pysqlite3')
import sys
from open_webui import app
sys.modules['sqlite3'] = sys.modules.pop('pysqlite3')
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
sys.exit(app())
# pip3.11安装pysqlite3-binary
/data/soft/python3.11/bin/pip3.11 install pysqlite3-binary
# 启动open-webui
/data/soft/pyton-packages/bin/open-webui serve
——————————————————————————————————————————————
遇到的问题如下
/data/soft/pyton-packages/bin/open-webui serve
Traceback (most recent call last):
File "/data/soft/pyton-packages/bin/open-webui", line 6, in <module>
from open_webui import app
ModuleNotFoundError: No module named 'open_webui'