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

修雨轩陈@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. 针对ACM输出格式的一个小技巧(对格式错误说不!)

    printf("%d%c",bmax," \n"[i==n]); 上文中bmax为题目中需要输出的整形变量,可以脑补很多ans,max之类的,重点在于%c和后面 ...

  2. (C语言逻辑运算符!)&&两种定义字符串的方法&&局部变量、全局变量&&内部函数、外部函数。(新手基础知识备忘录)

    (一)      四个逻辑运算符:!(逻辑非) ||(或) &&(与) ^ (异或) 位运算:&(与) |(位或) (二)        如何定义字符串: 1,字符串常量   ...

  3. ajax乱码的问题

    ajax 乱码情况与原因很多,本文只讲其中之一: 浏览器端正常的数据,用ajax提交到服务器上就乱码了. 当ajax的提交方式是get而不是post时,其所携带的数据不会被字符编码过滤器所拦截(事实上 ...

  4. 深刻理解Python中的元类(metaclass)(转)

    转载地址:http://blog.jobbole.com/21351/ 另外有几点理解记录下: 创建一个实例时,有时会传入参数,这些参数会同时传入 __init__() 和 __new__(),如: ...

  5. Dijkstra实现最短路径

    #include<cstdio> #include<iostream> #include<algorithm> using namespace std; const ...

  6. Zookeeper---系统学习

    1.概述 1.1 Zookeeper解决了什么问题? 分布式环境中    协调和管理服务    是一个复杂的过程: Zookeeper通过  其简单的架构和API  解决了这个问题,Zookeeper ...

  7. 【云计算~Pig】一、基本语法

    加载与存储 LOAD 将数据从外部文件或其它存储中加载数据,存入关系 STORE 将一个关系存放到文件系统或其它存储中 DUMP 将关系打印到控制台 过滤 FILTER 从关系中删除不需要的行 DIS ...

  8. 解决 jenkins 下使用 HTML Publisher 插件后查看 html 报告显示不正常

    查看官方文档后,原来是安全问题所导致的. Jenkins安全默认是将以下功能都关闭了1.javascript2.html上的内置插件3.内置css或从其它站的css4.从其它站的图处5.AJAX 我的 ...

  9. UCF约束介绍

    约束 (一)约束的分类: 利用FPGA进行系统设计常用的约束主要分为3类. (1)时序约束:主要用于规范设计的时序行为,表达设计者期望满足的时序条件,知道综合和布局布线阶段的优化算法等. (2)布局布 ...

  10. ubuntu16.04 安装python3.6

    https://www.cnblogs.com/yjlch1016/p/8641910.html