蓝布编程网

分享编程技术文章,编程语言教程与实战经验

服务器安装Datasette库,可以在网页操作SQLite

周末制作了一个视频:一个Python库可视化查看SQLite3数据库,但只是在我自己笔记本安装,想着还是写一个服务器教程,介绍文字版的安装过程,分享给需要的伙伴们。



Datasette

Datasette是一个Python 工具,可以为SQLite数据库生成JSON API。因为SQLite不能并发写入,所以API是只读的,但是读性能非常好。


说明

本文将以CentOS6为例,进行说明如何安装这个Python库。


演示安装的操作系统版本

$ cat /etc/redhat-release 
CentOS release 6.5 (Final)


安装SQLite3和编译一个Python3.8版本

此工具原则上Python3.6版本以及高于Python 3.6版本即可,但是实际用我一个编译过的Python3.7.4版本,发现在使用sqlite3打开只读文件模式的时候会生成一个空文件。


于是,我重新编译了一个SQLite3最新版本,和最新的Python-3.8.5版本。


在这里会遇到几个坑:

1.Python3 需要引用SSL,这里跟安装这个工具无关,但是如果你后续要用SSL,你最好一次性解决完这个问题,否则到时候需要重新编译一次。有兴趣可以参考之前我的文章:Python入门-编译安装Python3教程

2.此次编译由于在新环境,编译Python3 的时候找不到SQLite3 库,于是我进行了编译,这里说明下如何修改。

$ wget https://www.sqlite.org/2020/sqlite-autoconf-3330000.tar.gz --no-check-certificate
$ tar zxf sqlite-autoconf-3330000.tar.gz
$ ./configure --prefix=/opt/testerzhang/3rd/sqlite
$ make && make install

$ vim ~/.bash_profile


SQLITEHOME=$HOME/3rd/sqlite

export PYTHONHOME=$HOME/3rd/Python-3.8.5
export PYTHONPATH=$PYTHONHOME/lib/python3.8


export PATH=.:$PYTHONHOME/bin:$SQLITEHOME/bin:$PATH
export LD_LIBRARY_PATH=.:$SQLITEHOME/lib:$PYTHONHOME/lib:$LD_LIBRARY_PATH


$ source  ~/.bash_profile

接下来编译Python,这里我也用了自己的OpenSSL版本。

在Python源码目录编辑文件,加入sqlite的路径:'/opt/testerzhang/3rd/sqlite/include',

$ vi setup.py    
sqlite_inc_paths = [ '/usr/include',
                     '/opt/testerzhang/3rd/sqlite/include',
                     '/usr/include/sqlite',
                     '/usr/include/sqlite3',
                     '/usr/local/include',
                     '/usr/local/include/sqlite',
                     '/usr/local/include/sqlite3',
                   ]



$ ./configure --prefix=/opt/testerzhang/3rd/Python-3.8.5 --with-openssl=/opt/testerzhang/3rd/openssl
$ make && make install


这样我们就可以正常的用我们自己的Python编译包进行安装库。

3.此次编译由于在新环境,编译Python3 的时候找不到SQLite3 库,于是我进行了编译,这里说明下如何修改。


安装Datasette库

$ pip3 install datasette

是不是很简单。


如何运行

$ datasette serve fund.db  -h 0.0.0.0

其中:

  • fund.db 是我的一个sqlite3数据库。
  • -h 后面带IP,否则默认启动是127.0.0.1,我们笔记本不能正常在网页访问。


效果图

这里的效果图我就简单贴两张,更多的内容可以查看视频。


更多的用法

例如直接命令行导出json串,其他更多细节可以参考:
https://github.com/simonw/datasette。


结束语


如果在服务器安装过程中有任何的问题,可以@testerzhang留言。更多细节,可以点击阅读原文查看视频。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言