无root权限RedHat7.9下,源码安装Python3.13.2时如何配置sqlite3?
无root权限下在RedHat 7.9安装sqlite3并让Python 3.13.2识别
1. 源码编译安装sqlite3到用户私有目录
- 下载版本≥3.15.2的sqlite3源码包(推荐稳定版如
sqlite-autoconf-3450000.tar.gz) - 解压并进入源码目录:
tar zxvf sqlite-autoconf-3450000.tar.gz cd sqlite-autoconf-3450000 - 配置编译参数,指定安装到用户私有目录(示例为
$HOME/local/sqlite3,可自行修改):./configure --prefix=$HOME/local/sqlite3 --enable-shared - 编译并安装:
make -j16 && make install
2. 重新配置编译Python 3.13.2,使其识别sqlite3
- 回到Python 3.13.2源码目录,清理之前的编译残留:
make distclean - 设置环境变量,让Python配置脚本找到sqlite3的头文件和库文件:
export CPPFLAGS="-I$HOME/local/sqlite3/include" export LDFLAGS="-L$HOME/local/sqlite3/lib -Wl,-rpath=$HOME/local/sqlite3/lib"注:
-Wl,-rpath参数用于让编译后的Python程序直接找到sqlite3动态库,避免后续手动设置环境变量 - 执行Python配置命令(保留你原有的参数,替换
my_install_directory为你的目标安装目录):
此时检查配置输出,应看到:./configure --prefix=my_install_directory --enable-optimizations --disable-test-moduleschecking for sqlite3 >= 3.15.2... yes checking for sqlite3.h... yes - 重新编译并安装Python:
make -j16 && make install
3. 验证安装结果
- 启动新安装的Python:
my_install_directory/bin/python3 - 尝试导入sqlite3模块,无报错则说明成功:
输出sqlite3版本号即表示配置生效,此时可正常安装并运行Jupyter。import sqlite3 print(sqlite3.sqlite_version)
若后续运行Python时出现sqlite3库找不到的错误,可编辑
~/.bashrc添加:export LD_LIBRARY_PATH=$HOME/local/sqlite3/lib:$LD_LIBRARY_PATH执行
source ~/.bashrc使其生效。
内容的提问来源于stack exchange,提问作者PrOpoLo
相关产品推荐
相关产品推荐

