无管理员权限解决 ModuleNotFoundError: No module named ‘_sqlite3‘问题

在Linux环境中,手动编译安装Python3后,启动Jupyter Notebook时遇到_sqlite3_模块缺失的问题。常规解决办法是使用管理员权限安装libsqlite3-dev,但若无此权限,需要自行编译sqlite和Python。首先下载并编译sqlite,指定安装目录,然后配置Python编译参数,包括LDFLAGS和CPPFLAGS以指向sqlite的库文件和头文件位置,确保Python编译时能正确找到sqlite。忽略头文件位置可能导致编译失败,因此这一步至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在linux中手动编译python3 后安装 jupyter notebook,启动的jupyter 的时候遇到ModuleNotFoundError: No module named '_sqlite3' 问题,如果有管理员权限的话,可以直接用管理员权限安装 sqlite3,参考,这也是目前大部分博文中提到的方法,具体如下

sudo apt-get install libsqlite3-dev

然后重新编译python即可

./configure --enable-loadable-sqlite-extensions --prefix=/your/python/install/dir

make &&  make install

但是,有时候没有管理员权限的时候,就需要自己编译sqlite然后再编译python具体如下,

1.下载安装 sqlite,参考

wget https://www.sqlite.org/2018/sqlite-autoconf-3240000.tar.gz
tar -xf sqlite-autoconf-3240000.tar.gz
cd sqlite-autoconf-3240000/
./configure --prefix=/your/sqlite/install_dir
make  && make install

2.编译python

./configure LDFLAGS="-L/your_sqlite_install_dir/lib" CPPFLAGS="-I/your_sqlite_install_dir/include" --prefix=/your/python/install/dir --enable-loadable-sqlite-extensions
make && make install

注意这里 LDFLAGS用来指定你安装sqlite的库文件位置,CPPFLAGS用指定sqlite的头文件的位置,这样python在编译的时候就能找到你已经安装的sqlite,然后在python里面编译成可用的库,笔者第一次安装的时候只指定了PATH和LD_LIBRARY_PATH,没有指定头文件的位置,导致编译python的时候还是缺了_sqlite这个模块,所以这里特别强调一下需要指定好头文件的位置!!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值