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

如何让pyenv编译指定SQLite版本的Python或更换其依赖SQLite版本?

让pyenv编译的Python指定使用特定版本SQLite(无需改用pysqlite3)

步骤1:卸载已安装的Python 3.9.5

先移除之前绑定系统SQLite的Python版本:

pyenv uninstall -f 3.9.5

步骤2:手动编译安装SQLite 3.31.1

我们将SQLite编译到用户私有目录,避免干扰系统自带版本:

  • 创建存放自定义SQLite的目录并进入:
mkdir -p ~/.local/sqlite-3.31.1
cd ~/.local/sqlite-3.31.1
  • 前往SQLite官方网站下载3.31.1版本的源码包(对应文件名sqlite-autoconf-3310100.tar.gz),将其放到当前目录;
  • 解压源码包:
tar xzf sqlite-autoconf-3310100.tar.gz
cd sqlite-autoconf-3310100
  • 配置编译参数,指定安装路径:
./configure --prefix=$HOME/.local/sqlite-3.31.1 --enable-static
  • 编译并安装:
make -j$(nproc)
make install

步骤3:设置环境变量,引导pyenv链接自定义SQLite

临时设置环境变量,让Python编译时优先使用我们的SQLite:

export LDFLAGS="-L$HOME/.local/sqlite-3.31.1/lib"
export CPPFLAGS="-I$HOME/.local/sqlite-3.31.1/include"
export LD_RUN_PATH="$HOME/.local/sqlite-3.31.1/lib"

步骤4:重新安装Python 3.9.5

执行pyenv安装命令,此时编译会绑定我们的自定义SQLite:

pyenv install 3.9.5

步骤5:验证版本是否切换成功

切换到目标Python版本并检查SQLite版本:

pyenv local 3.9.5
python -c "import sqlite3; print(sqlite3.sqlite_version)"

如果输出3.31.1,则说明配置成功。

注意事项

  • 后续若重新安装该Python版本,需重复步骤3的环境变量设置,否则会再次使用系统SQLite。
  • 该操作仅影响pyenv管理的Python版本,系统自带SQLite和其他程序不受影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 23:48:22