CentOS6.5安裝sqlite3

獵手家園發表於2018-09-11

1、下載安裝包:https://www.sqlite.org/download.html

2、解壓

[root@mycentos ~]# tar xzvf sqlite-snapshot-201809101443.tar.gz

3、編譯安裝

[root@mycentos ~]# ./configure --prefix=/usr/local/sqlite3
[root@mycentos ~]# make
[root@mycentos ~]# make install

注意:安裝完畢有這樣一段提示

----------------------------------------------------------------------
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 variablesqlite 建議新增環境變數。

[root@mycentos ~]# vim /etc/profile
 export LD_LIBRARY_PATH=/usr/local/sqlite3/lib
 export LD_RUN_PATH=/usr/local/sqlite3/lib

[root@mycentos ~]# source /etc/profile

4、修改python安裝原始碼的setup.py如下:

[root@mycentos ~]# vim setup.py

sqlite_inc_paths = [ '/usr/include',
    '/usr/local/sqlite3/include', #增加該部分內容
    '/usr/include/sqlite',
    '/usr/include/sqlite3',
    '/usr/local/include',
    '/usr/local/include/sqlite',

重新編譯安裝Python3。

 

PS:如果執行python程式的時候會出現:ModuleNotFoundError: No module named '_sqlite3'

原因有可能是,你安裝了多個python版本,而你使用的這個python版本沒有_sqlite3.so這個檔案。

[root@mycentos ~]# find / -name _sqlite3.so
 /usr/lib64/python2.6/lib-dynload/_sqlite3.so

然後copy到你使用的python版本相應的目錄下:

[root@mycentos ~]# cp /usr/lib64/python2.6/lib-dynload/_sqlite3.so /usr/local/python3/lib/python3.6/lib-dynload

問題解決!

相關文章