赞
踩
Centos6.8、python3.6
我在使用python中的sqlite3时,出现了以下问题:
安装python的时候没有找到sqlite3.so的库。
# 安装sqlite相关的全部,可能并不需要全部,为了简单直接用*号代替了
yum install sqlite*
然后重新编译python或者重新安装python
wget https://www.sqlite.org/2018/sqlite-autoconf-3250200.tar.gz
tar -zxvf sqlite-autoconf-3250200.tar.gz
cd sqlite-autoconf-3250200
./configure --prefix=/usr/local/sqlite3
make && make install
#手动安装sqlite3 完成的时候会有这么一段提示: ---------------------------------------------------------------------- Libraries have been installed in: /usr/local/sqlite3/lib If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the '-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the 'LD_RUN_PATH' environment variable during linking - use the '-Wl,-rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to '/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages.
这段内容显示了sqlite3的安装路径:/usr/local/sqlite3/lib。
特别注意add LIBDIR to the ‘LD_LIBRARY_PATH’ environment variable,这是sqlite建议添加环境变量。
所以:
echo export LD_LIBRARY_PATH=/usr/local/lib >> /etc/profile
source /etc/profile
最后重新编译python3安装就能够成功了。重新编译的方式有很多,我选择的是这个博客
通过下图查找,能发现3个文件libsqlite3.so.0等,将/usr/lib64/libsqlite3.so.0这3个文件删除并替换,重新编译python3安装就能够成功了(这次没问题!)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。