--------------------

修雨轩陈@cnblog

Python3.5 使用Sqlite3

python3.5 安装的时候会有很多可选参数,这些参数是默认不提供的,可是当我们想通过pip install、esay_install 的时候却发现无法安装; 在这种情况下,我们只能从新安装python.并在编译的时候添加到可选参数,

------------------------

1 安装Sqlite3

1.1 下载SQLTLE3:

https://www.sqlite.org/download.html

1.2 安装SQLITE 3

解压后进入sqlite3的目录下

进行编译:

$configure –prefix=<你的安装路径> ###这里我设置的是 /usr/local/sqlite

$make –j4

$sudo make install

安装成功之后会输出如下信息:

/usr/bin/mkdir -p '/usr/local/sqlite/bin'

/bin/sh ./libtool --mode=install /usr/bin/install -c sqlite3 '/usr/local/sqlite/bin'

libtool: install: /usr/bin/install -c sqlite3 /usr/local/sqlite/bin/sqlite3

/usr/bin/mkdir -p '/usr/local/sqlite/include'

/usr/bin/install -c -m 644 sqlite3.h sqlite3ext.h '/usr/local/sqlite/include'

/usr/bin/mkdir -p '/usr/local/sqlite/share/man/man1'

/usr/bin/install -c -m 644 sqlite3.1 '/usr/local/sqlite/share/man/man1'

/usr/bin/mkdir -p '/usr/local/sqlite/lib/pkgconfig'

/usr/bin/install -c -m 644 sqlite3.pc '/usr/local/sqlite/lib/pkgconfig'

make[1]: Leaving directory `/root/workspace/sqlite-autoconf-3170000'


2 重新安装python3

2.1 添加Sqlite3搜索路径

编辑python3.5.X里面的setup.py, 内容如下 (添加sqlite的搜索路径):

使用vim setup.py 打开,同时在命令模式下输入:

/sqlite_inc_paths #用于寻找该字段,如图所示:

在这句话中添加自己刚才安装的sqlite路径,由于我之前是在/usr/local/sqlite3下安装的,所以会添加:

/usr/local/sqlite3/include

/usr/local/sqlite3/include/sqlite3

如图所示:


2.2 安装python

./configure --enable-loadable-sqlite-extensions ## 设置可选项

PS: 在执行该命令之后, 发现最后输出:

这句是说,其实我们打开python的所有可选选项的时候使用 , 换句话说我们可以将所有python 的可选选项打开。

在Python安装目录中,使用一下两个命令:

$make –j4 ##这句话是对python 进行编译,如果自己机器上的CPU核数足够多,可以适当的增加-j后面的数字;

$sudo make install ## 安装编译后的python

3 验证

为了验证安装python 是否成功, 可以在/ 目录下查找_sqlite*.so

find / -name _sqlite*.so

继续验证:

Python3.5 使用Sqlite3的更多相关文章

  1. Python3数据库模块(sqlite3,SQLite3)

    一.sqlite命令 创建数据库:在控制台sqlite3 name .databases     查看数据库 .tables            查看表格名 databaseName .dump & ...

  2. python3连接使用sqlite3

    一直比较喜欢sqlite,业余爱好不需要大型数据库,原来在windows下最常用的就是access,使用很方便,但是linux下没法用,后 来从php+sqlite2开始使用,编程时间很少,代码量很小 ...

  3. Python3 简单封装 sqlite3 - SimpleToolSql

    #coding: utf-8 #Author:boxker #Mail:icjb@foxmail.com import sqlite3 import os class simpleToolSql(): ...

  4. 交叉编译Python-3.6.0到aarch64/aarch32 —— 支持sqlite3

    参考 https://datko.net/2013/05/10/cross-compiling-python-3-3-1-for-beaglebone-arm-angstrom/ 平台 主机: ubu ...

  5. OSX编译安装Python3及虚拟开发环境Virtualenv

    0X00.前言 因为工作原因,最近主要做Python开发,刚好电脑系统重装之后所有的东西都需要重新配置.此文主要记录OSX下通过源码编译安装Python3以及安装虚拟开发环境Virtualenv. 0 ...

  6. python杂记二

    1. 写文件可以直接使用print函数 file_name = open("file_name.txt","w") print("file conta ...

  7. 常用数据库2 sqlite及SQL注入

    知识内容: 1.sqlite数据库介绍 2.sqlite数据库操作 3.SQL注入 一.sqlite数据库介绍 1.sqlite数据库 sqlite数据库:轻量级的数据库,一般开发中使用sqlite数 ...

  8. LD_PRELOAD的妙用,让python支持自己编译的Sqlite

    LD_PRELOAD的妙用,让python支持自己编译的Sqlite LD_PRELOAD=/usr/local/sqlite/lib/libsqlite3.so.0 python3 -c " ...

  9. python-learning-第二季-数据库编程

    https://www.bjsxt.com/down/8468.html 代码实现: #coding:utf- #导入模块 import sqlite3 #创建connect连接 con = sqli ...

随机推荐

  1. 《The One 团队》第二次作业:团队项目选题

    项目 内容 作业所属课程 http://www.cnblogs.com/nwnu-daizh/ 作业要求 https://www.cnblogs.com/nwnu-daizh/p/10726884.h ...

  2. JS获取后台返回的JSON数据

    问题:通过$.get从后台获取了一段json串{"id":"1","name":"ww"},然后要拿到这里面的id和na ...

  3. 详解exif.js,应用于canvas照片倒转(海报H5)

    业务背景,苹果手机调用上传接口拍照没有问题但是上传到网页上照片倒转了解决方法利用exif.js读取图片参数并对图片进行元数据修改 window.btoa(str)转码 window.atob(base ...

  4. 80x25彩色字符模式

    80x25彩色字符模式下显示缓冲区的结构: 在内存地址空间中,B8000H~BFFFFH共32KB的空间,为80x25彩色字符模式的显示缓冲区.往这个地址空间中写入数据,写入的内容会立即出现在显示器上 ...

  5. OnClick和OnClientClick

    OnClientClick是客户端事件处理方法,一般采用JavaScript来进行处理,也就是直接在IE端运行,一点击就运行 OnClick是服务器端事件处理方法,在服务器端也就是IIS中运行,点击后 ...

  6. JDBC(3)-使用PreparedStatement接口实现增、删、改操作

    1.PreparedStatement接口引入 PreparedStatement是Statement的子接口,属于预处理操作,与直接使用Statement不同的是,PreparedStatement ...

  7. Unity c#反射查找类中符合条件的方法并执行

    我用在了事件注册上面,再也不用一个一个去写了 下面直接上代码 using System; using System.Collections; using System.Collections.Gene ...

  8. php中preg正则函数使用

    1.preg_match和preg_match_all的区别 preg_match和 preg_match_all区别是preg_match只匹配一次.而preg_match_all全部匹配,直到字符 ...

  9. 快速上手:在CVM上安装Apache

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由一步 发表于云+社区专栏 介绍 Apache HTTP服务器是世界上使用最广泛的Web服务器.它提供了许多强大的功能,包括可动态加载的 ...

  10. Iterator和ListIterator的区别 ---面试题

    Iterator和ListIterator的区别是什么? 下面列出了他们的区别: Iterator可用来遍历Set和List集合,但是ListIterator只能用来遍历List. Iterator对 ...