You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac中升级sqlite3适配Chroma:pysqlite3-binary安装失败求助

解决Chroma要求sqlite3≥3.35.0的版本问题

一、问题根源

你执行pip install pysqlite3-binary失败,是因为这个包的命名已经废弃,现在正确的包名是pysqlite3,旧后缀版本已被移除,所以找不到匹配的安装包。后续代码报错找不到pysqlite3,就是因为包根本没装成功。

二、快速修复(推荐虚拟环境内操作)

  1. 激活你的Python3.10.8虚拟环境venv3.10,执行正确的安装命令:
pip install pysqlite3
  1. 安装完成后,在导入Chroma的代码前加上以下替换逻辑:
__import__('pysqlite3')
import sys
sys.modules['sqlite3'] = sys.modules.pop('pysqlite3')

# 之后再导入Chroma相关模块
# from chromadb import ...

这样Python会优先使用pysqlite3提供的高版本sqlite3,绕过系统自带的旧版本。

三、替换系统级sqlite3(Mac OS X)

Mac系统自带的sqlite3受系统完整性保护(SIP),无法直接替换系统目录文件,建议将新版本放到用户可控目录并修改优先级:

  1. 解压下载的3.43版本预编译包,得到sqlite3可执行文件。
  2. 将文件移动到/usr/local/bin(没有该目录就先创建:sudo mkdir -p /usr/local/bin):
sudo mv ~/Downloads/sqlite3 /usr/local/bin/
  1. 修改shell环境变量,让系统优先调用新的sqlite3:
    • 打开你的shell配置文件(bash用~/.bash_profile,zsh用~/.zshrc),添加:
      export PATH="/usr/local/bin:$PATH"
      
    • 执行source ~/.zshrc(对应你的shell类型)使配置生效。
  2. 重启终端,执行sqlite3 --version,就能看到3.43版本了。

四、验证生效状态

打开虚拟环境的Python交互模式,执行:

import sqlite3
print(sqlite3.sqlite_version)

如果输出3.43.x,说明替换成功,再运行Chroma代码就不会报错了。

内容的提问来源于stack exchange,提问作者user1314404

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 11:11:25