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

修雨轩陈@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. 128th LeetCode Weekly Contest Pairs of Songs With Total Durations Divisible by 60

    In a list of songs, the i-th song has a duration of time[i] seconds. Return the number of pairs of s ...

  2. webpack 打包之后,两行溢出没有效果

    原因:发现-webkit-box-orient:vertical;并未设置成功解决:-webkit-box-orient: vertical; 加上注释包裹 .item-title { overflo ...

  3. Docker部署Nginx应用(2)

    Docker部署Nginx应用(2) 1.拉取Nginx镜像 [root@localhost ~]# docker pull nginx Using default tag: latest lates ...

  4. python excel读写数据

    python 读取excel内容,包含表格日期处理 # -*- coding: utf- -*- import xlrd #读取excel表格 workbook=xlrd.open_workbook( ...

  5. VUE 监听局部滚动 设置ICON的位置跟随

    效果图如下: 目的: 为了让 + 号与 - 号跟随在当前 tr 的前边 第一步: 当tr指针经过时获取tr的相对位置 HTML JS 第二步:给滚动的div元素添加滚动事件获取滚动的高度 最后:设置I ...

  6. Java框架-mybatis03使用注解实现mybatis

    1.面向接口编程: 好处:扩展性好,分层开发中,上层不用管具体的实现,都遵循共同的标准,使得开发变得容易.规范性更好 2.注解的实现 a)编写Dao接口 public interface UserDa ...

  7. PHP 字符串 操作符<<< 使用的注意事项

    在看<深入PHP和JQeury开发>过程中,遇到字符串 操作符<<<,代码没有问题,但格式却要求特别严格,找到PHP手册上的实例,翻译过来,留作后用. A string ...

  8. springboot+自定义注解实现灵活的切面配置

    利用aop我们可以实现业务代码与系统级服务例如日志记录.事务及安全相关业务的解耦,使我们的业务代码更加干净整洁. 最近在做数据权限方面的东西,考虑使用切面对用户访问进行拦截,进而确认用户是否对当前数据 ...

  9. oracle 层次化查询(生成菜单树等)

    1.简介:Oracle层次化查询是Oracle特有的功能实现,主要用于返回一个数据集,这个数据集存在树的关系(数据集中存在一个Pid记录着当前数据集某一条记录的Id). 2.层次化查询主要包含两个子句 ...

  10. Redis学习笔记--常用命令

    以下为本人学习Redis的备忘录,记录了大部分常用命令 1.客户端连接redis服务端: ===启动Redis服务端 redis-server /yourpath/redis.conf ===启动Re ...