wsl部署python版本QAnything(踩坑)

windows下安装wsl

#安装并设置版本为2
wsl install
wsl --set-default-version 2
# 查看linux情况
wsl -l -v

如果有其他问题可以看:windows下安装docker desktop并指定安装目录及汉化

进入ubuntu并下载安装conda

wsl --distribution Ubuntu
# 首次进入需要设置账号密码:ch*/**
# 下载anaconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# 安装
bash Miniconda3-latest-Linux-x86_64.sh
# 选择 yes
# 空格 翻页
# 选择 yes

# 后面的是配置conda环境,没配置的话就是默认

激活python虚拟环境

source ~/.bashrc
# 如果没变化,就先编辑配置conda环境变量
vi ~/.bashrc
# 最文件最后添加以下配置
export PATH="~/anaconda3/bin":$PATH
source ~/miniconda3/bin/activate #修改终端的默认 python 为 anaconda
# 保存退出编辑并执行
source ~/.bashrc
# 默认激活的是base虚拟环境
# 创建新的环境,指定路径 0-WSL\ubuntu\conda_envs
conda create --prefix /mnt/e/0-WSL/ubuntu/conda_envs/qanything-python python=3.10
# 激活新的环境
# conda activate /mnt/e/0-WSL/ubuntu/conda_envs/qanything-python
# 如果想方便激活该环境,通过 conda config 设置 envs_dirs 来让 Conda 认识这个路径。
conda config --add envs_dirs /mnt/e/0-WSL/ubuntu/conda_envs
conda activate qanything-python

在这里插入图片描述
![

代码拉取及安装依赖包

# 切换到存放代码的目录
cd /mnt/e/0-RAG
# git拉取代码:也可以自己下载丢到自己想要存放的目录下
git clone -b qanything-python https://github.com/netease-youdao/QAnything.git
# 切换到代码目录下
cd QAnything
# 根据requirements.txt文件列出的依赖安装python包
# 科学上网或者国内源
# pip install -r requirements.txt  
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple  -r requirements.txt
  • pip install报错:
    • 没有找到gcc
      在这里插入图片描述

    • 解决:安装gcc编译器

      # 安装
      sudo apt-get update
      sudo apt-get install build-essential
      # 查询gcc版本信息
      gcc --version
      

      在这里插入图片描述

启动 (启动有点慢,大概需要5分钟)

  • QAnything\scripts下复制ollam的启动脚本进行修改保存为ollama_cpu_wsl.sh

    #!/bin/bash
    bash scripts/base_run.sh -s "LinuxOrWSL" -w 4 -m 19530 -q 8777 -c -o -b 'http://localhost:11434/v1' -k 'ollama' -n 'deepseek-r1:7b' -l '4096'
    
  • 执行命令启动

    bash scripts/ollama_cpu_wsl.sh 
    
  • 报错

    File "/mnt/e/0-WSL/ubuntu/conda_envs/qanything-python/lib/python3.10/site-packages/openai/_base_client.py", line 793, in __init__
        self._client = http_client or SyncHttpxClientWrapper(
    TypeError: Client.__init__() got an unexpected keyword argument 'proxies'
    
    • 原因:安装openai包时没指定httpx包版本,httpx包在11.28进行更新,安装了httpx 0.28.0 版本的包导致报错

      在这里插入图片描述

    • 解决方法

      • 1、指定httpx包版本为0.27.2: pip install httpx==0.27.2
      • 2、安装openai包>=1.55.3版本: pip install openai>=1.55.3
  • 运行结果

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 浏览器访问:http://localhost:8777/qanything
    在这里插入图片描述
    ollama部署大模型的可以参考:使用Ollama在本地运行AI大模型(gemma、deepseek等)及UI整合(chatbox、Cherry Studio、Page Assist等)

使用遇到的问题及解决

  • 上传文件后解析失败。看日志打印是找不到NLTK(punkt_tab、averaged_perceptron_tagger_eng)
    在这里插入图片描述
    在这里插入图片描述

  • 下载:

    • nltk.org 找到相对应的报错包下载即可(punkt_tab、averaged_perceptron_tagger_eng)
    • github 直接下载在packages下相对应的文件夹下找也可以
    • 网盘 提取码:3PKw
  • 解压后根据报错信息丢进去:Searched in 列表的路径 + Attempted to load 的路径 即是完整路径
    例如我本地的:

    • E:\0-RAG\QAnything\qanything_kernel\nltk_data\taggers
    • E:\0-RAG\QAnything\qanything_kernel\nltk_data\tokenizers

好了,能正常使用了。剩下的慢慢研究吧~
在这里插入图片描述


### 降级 WSLPython 版本的方法 为了在 Windows Subsystem for Linux (WSL) 环境中降级 Python 版本,可以采用多种方法来实现这一目标。以下是具体的操作方式: #### 方法一:通过 `update-alternatives` 切换 Python 版本 可以通过配置系统的 `update-alternatives` 工具来管理多个 Python 解释器版本之间的切换。 ```bash sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2 ``` 此命令会将 `/usr/bin/python` 链接到指定的 Python 版本,并赋予不同的优先级数值[^2]。 #### 方法二:创建虚拟环境并安装特定版本Python 另一种更为推荐的方式是在现有环境中创建一个新的虚拟环境,并在此基础上安装所需的较低版本 Python。这不会影响全局设置,从而减少潜在冲突的风险。 首先确保已安装 `virtualenv` 或者更现代的选择 `venv` 模块: ```bash pip install virtualenv ``` 接着创建一个基于所需 Python 版本的新虚拟环境: ```bash virtualenv -p $(which python2.7) my_env_name source my_env_name/bin/activate ``` 激活后的虚拟环境中,默认使用的将是所选的 Python 版本。 #### 方法三:重新编译安装自定义版本Python 对于那些希望彻底改变整个系统默认 Python 版本而不依赖于上述工具的情况,则可以选择下载源码包自行编译安装。不过这种方法较为复杂且可能带来兼容性问题,因此不作为首选方案介绍。 #### 注意事项 当调整 Python 版本时需要注意其他依赖库的要求以及它们之间是否存在版本匹配的问题。例如,在某些情况下降低 NumPy 的版本可能是必要的操作以适应较老版本 PyTorch 对其 API 调用的需求[^1]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值