① python和SQLite问题,怎么解决
python编码如果把中文数据存储至sqlite数据库某一字段中,再通过查询语句取出并进行相关的字符串操作时,经常会出现错误提示,类似于UnicodeDecodeError,提示某一类型编码不能转换。
出现这个问题的原因是因为python默认使用unicode处理sqlite3的TEXT类型(varchar类型也是如此,因为在sqlite中varchar其实就是TEXT)。python把中文存入数据库时使用了类似于GBK这样的编码,取出时会尝试把TEXT类型数据转换成unicode,从而出现错误。
由此导致的另一个不容易发现的错误是存储在数据库中的中文进行了base64之类的编码,在python中取出时不会存在错误,但是再进行base64解码,并与sqlite3中取出的其它text字段进行字符串拼接等处理,就出现编码转换错误,很难发现问题原因,可以把其它text字段进行如'aaa'.encode('gbk')编码成GBK码解决,但不提倡这种方法,更好方法如下:
解决方法是python连接sqlite数据库后进行如下设置:
conn = sqlite3.connection(“……”)
conn.text_factory = str
另外为了python代码中硬编码的中文字符串不出现问题,除了在源码开始添加
# -*- coding:utf-8 -*-
还要设置python源码的编码为utf-8
import sys
reload(sys)
sys.setdefaultencode('utf8')
② python27下怎么用sqlite3
肯定不是放在Lib目录下的,好像放在python目录下就可以了。具体记不清楚了,好久以前用过,楼主可以尝试下
刚亲自尝试了下
如果楼主用的是python2.7的话,还需要下载一个python和数据库sqlite的接口pysqlite-2.6.3.win32-py2.7这个要安装。
数据库sqlite从网上下载后,直接把EXE文件放在C:/PTHON27 目录下就可以了。
③ win10 python怎么安装sqlite
安装步骤:先到python的官方网站下载软件,打开官网后,选择downlad项目,然后选择需要下载的大版本,2.7还是3.4,一直在用2.7,比较好用:
选择完版本后,进入后一个页面,在这个页面可以选择操作系统及对应的版本,win下注意分64位和32位版本,不要下错了;
32位的程序大约为17.5M,建议非官网下载的还是要比对下MD5以防万一,在上一个页面就有MD5值。核对完成后双击安装,首先是询问是为所有用户还是为当前用户安装,用缺省的就行;
下一步后是选择安装目录,这个看个人喜好了,不过还是要记一下目录,因为缺省的代码也会放在这个目录下;
下面继续缺省配置选择就开始安装了,python在安装过程中要执行一些角本,因些需要至少有system的权限才可以安装:
安装完成,但在win10在任务栏和桌面上都未生成图标,使用起来麻烦些,在开始窗口打开所有应,按字母找到python程序项,右键选择固定在任务栏或屏幕:
④ Python中SQLite支持数据库远程访问吗
Python是计算机常用的计算机语言,在实际的操作中我们会涉及到Python连接数据库的相关实际操作,假如你对Python连接数据库的实际操作方案感兴趣或是有疑问,你都可以浏览下面的文章。一. Python和mysql数据库连接Python 要连接 MySQL 可以使用 MySQL_python模块首先确定是否安装,在指令模式输入 python,然后便可以开始检查:Python 2.5.1 (r251:54863, May 2 2007, 16:56:35)[GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2 Type "help", "right", "credits" or "license" for more information. >>> import MySQLdb Traceback (most recent call last): File "", line 1, in ImportError: No mole named MySQLdb >>> exit() 如果见以上面的"ImportError: No mole named MySQLdb" 一句,便表示系统没有安装,注意:在shell中,输出是 区分大小写的也可以通过输入下面这些命令来测试你的数据库配置:>>> from django.db import connection >>> cursor = connection.cursor() 如果没有显示什么错误信息,那么你的数据库配置是正确的。 否则,你就得查看错误信息来纠正错误。上面的相关代码是对Python连接数据库中Python和mysql数据库连接的前部分代码的示例。 安装mysql_python模块到MySQLdb 官方网站 下载并安装MySQLdb版本:(win)MySQL-python-1.2.2.win32-py2.6.exe 直接运行安装即可按如下步骤安装$ tar zxvf MySQL-python-1.2.2.tar.gz $ cd MySQL-python-1.2.2 $ python setup.py build $ python setup.py install 附件: libguide40.dll.zip(77.3 KB) libmmd.dll.zip(169 KB) libmySQL.dll.zip(861 KB) 以上就是对python连接数据库中 python和mysql数据库连接相关的内容的介绍,望你会有所收获。============================================================================您可以找到一打以上的操作 SQL 数据库的开放源码 Python 包,这还没包括用于连接 Python 与特定数据库的特殊用途模块。SQLObject 是其中最好的模块。它是简单易用的完全对象关系映射包。SQLObject 几乎可以完成编程数据库所需的所有操作。本文展示了 SQLObject 如何与数据库交互,如何使用 SQLObject 编写数据库访问和数据验证代码,以及如何将它用于遗留或现有数据库。这里假设您已经具备 Python 和关系数据库的知识。安装和设置 SQLObjectSQLObject 具有一个 setup.py 文件,安装方式与其他任何 Python 包一样。如果您使用的是 Python V2.2,则还需要安装 mxDateTime Python 包(SQLObject 使用 Python V2.3 的内置 datetime 模块,如果该模块可用的话)。要实际使用 SQLObject,需要设置数据库包以及这种数据库的 Python 接口。SQLObject 连接多种数据库,其中包括三个大的开放源码产品:MySQL、PostgreSQL 和无服务器 SQLite。最后,需要为应用程序创建数据库。对于 SQLite,这意味着创建一个存储该数据库的文件。对于其他数据库,这意味着连接数据库服务器,执行 CREATE DATABASE 命令,并授权数据库用户对新数据库的一些访问,以便 SQLObject 可以使用该用户帐户来连接。清单1 展示了如何用 MySQL 创建新数据库。清单1. 用 MySQL 创建新数据库的代码mysql> use mysql;Database changedmysql> create database sqlobject_demo;Query OK, 1 row affected (0.00 sec)mysql> grant all privileges on sqlobject_demo to 'dbuser'@'localhost' identified by 'dbpassword';Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)回页首连接数据库需要编写的第一个 Python 代码是数据库连接代码。基于所使用的数据库,这是惟一需要编写不同代码的地方。例如,如果想让应用程序使用 SQLite 数据库,则需要将数据库文件的路径写入位于 sqlobject.sqlite 包的 SQLite 连接构建器中。如果数据库文件不存在,QLObject 将告诉 SQLite 创建一个,代码如下:import sqlobjectfrom sqlobject.sqlite import builderconn = builder()('sqlobject_demo.db')如果使用的是 MySQL 或带有服务器的其他数据库,则将数据库连接信息传递到连接构建器中。清单 2 提供了在上一节创建的 MySQL 数据库的示例。清单2. 传递 MySQL 数据库连接信息的代码import sqlobjectfrom sqlobject.mysql import builderconn = builder()(user='dbuser', passwd='dbpassword', host='localhost', db='sqlobject_demo') 不管连接哪种数据库,连接代码都应该放置在一个名称类似 Connection.py 的文件中,且该文件存储在一些通常可访问的位置中。这样,可以导入您定义的所有类,并使用已经构建的 conn 对象。conn 变量将包含所有与数据库相关的详细信息。但是要注意,SQLObject 的一些特性不可用于 SQLite 或 MySQL。不能将数据库选择与连接之后编写的代码完全分离。
⑤ 编译安装python需要哪些依赖
依赖库:
//使用apt 安装即可
1.gcc, make, zlib1g-dev(压缩/解压缩库)
安装过程需要的库。
2.libbz2-dev
bz2支持库,若在编译安装python前没有安装,将无法通过pip install 安装提供bz2格式的第三方库,会出现unsupported archive format: .tar.bz2的错误,例如爬虫库Scrapy依赖的Twisted。
3.libsqlite3-dev
sqlite3支持库,若在编译安装python前没有安装,则python中会缺失sqlite3模块,当引入sqlite3或使用依赖sqllite3的第三方库(例如Scrapy)时,会出现ImportError: No mol named _sqllite3的错误。
//以上为编译安装前需要安装的库,可能不够全面,会不断补充。
4.其他:安装第三方库需要的库
python3-dev, libxml2-dev, libxslt1, libffi-dev, libssl-dev等,在安装第三方库会有具体说明,不做过多解释。
安装:
//通过wget获取压缩包,这里选择3.6.1版
wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
//解压
tar xJf Python-3.6.1.tar.xz
cd Python-3.6.1
./configure
make
/*这步如果需要sudo,请使用sudo -H命令,即sudo -H make install,避免pip等模块安装失败。
错误示例(pip安装失败):The directory '/home/ls/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
*/
make install