手机
当前位置:查字典教程网 >脚本专栏 >PowerShell >Tornado中database模块被取消的替代方法
Tornado中database模块被取消的替代方法
摘要:准备用用tornado重写本站,但发现importtornado.database时出错。复制代码代码如下:[root@lee~]#pyth...

准备用用tornado重写本站,但发现import tornado.database时出错。

复制代码 代码如下:

[root@lee ~]# python

Python 2.7.4 (default, Apr 11 2013, 17:08:33)

[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import tornado.web

>>> import tornado.database

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

ImportError: No module named database

>>>

网上不少教程明明写的是这个模块,怎么会提示找不到这个模块呢?难道我没有安装MySQLdb的原因?

复制代码 代码如下:

[root@lee tornado]# python

Python 2.7.4 (default, Apr 11 2013, 17:08:33)

[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import MySQLdb

>>>

MySQLdb模块已经装好了,看来不是MySQLdb模块引起的。我又重装了一次tornado,结果还是没有database模块。

Python的模块就是一个py文件,我倒tornado目录去看了看,果然没有database.py这个模块:

复制代码 代码如下:

[root@lee ~]# find /usr -name tornado

/usr/lib/python2.6/site-packages/tornado-3.0.1-py2.6.egg/tornado

/usr/local/lib/python2.7/site-packages/tornado-3.0.1-py2.7.egg/tornado

/usr/local/lib/python2.7/site-packages/tornado

[root@lee ~]# cd /usr/local/lib/python2.7/site-packages/tornado

[root@lee tornado]# ls

auth.py escape.pyc __init__.pyc netutil.pyc tcpserver.py web.pyc

auth.pyc gen.py ioloop.py options.py tcpserver.pyc websocket.py

autoreload.py gen.pyc ioloop.pyc options.pyc template.py websocket.pyc

autoreload.pyc httpclient.py iostream.py platform template.pyc wsgi.py

ca-certificates.crt httpclient.pyc iostream.pyc process.py test wsgi.pyc

concurrent.py httpserver.py locale.py process.pyc testing.py

concurrent.pyc httpserver.pyc locale.pyc simple_httpclient.py testing.pyc

curl_httpclient.py httputil.py log.py simple_httpclient.pyc util.py

curl_httpclient.pyc httputil.pyc log.pyc stack_context.py util.pyc

escape.py __init__.py netutil.py stack_context.pyc web.py

[root@lee tornado]#

于是到tornado官网看了看文档,原来是tornado3.0版本以后废除database模块,但推出了一个类似database的模块torndb,我看了下源码基本就是MySQLdb的简单封装。

下载torndb,https://github.com/bdarnell/torndb

安装:

复制代码 代码如下:

[root@lee software]# unzip torndb-master.zip

Archive: torndb-master.zip

ab862d70f293304f3a37527dff549eb6818063f7

creating: torndb-master/

inflating: torndb-master/.gitignore

inflating: torndb-master/README.rst

creating: torndb-master/doc/

inflating: torndb-master/doc/Makefile

inflating: torndb-master/doc/conf.py

inflating: torndb-master/doc/index.rst

inflating: torndb-master/setup.py

inflating: torndb-master/torndb.py

inflating: torndb-master/tox.ini

[root@lee software]# cd torndb-master

[root@lee torndb-master]# ls

doc README.rst setup.py torndb.py tox.ini

[root@lee torndb-master]# python setup.py build

running build

running build_py

creating build

creating build/lib

copying torndb.py -> build/lib

[root@lee torndb-master]# python setup.py install

running install

running build

running build_py

running install_lib

copying build/lib/torndb.py -> /usr/local/lib/python2.7/site-packages

byte-compiling /usr/local/lib/python2.7/site-packages/torndb.py to torndb.pyc

running install_egg_info

Writing /usr/local/lib/python2.7/site-packages/torndb-0.1-py2.7.egg-info

[root@lee torndb-master]#

安装好了试试能不能倒入torndb模块

复制代码 代码如下:

[root@lee torndb-master]# python

Python 2.7.4 (default, Apr 11 2013, 17:08:33)

[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import torndb

>>>

OK,搞定。

其实使用torndb与直接使用MySQLdb模块操作数据库都一样,看个人喜好

关于torndb的文档请看这里:http://torndb.readthedocs.org/en/latest/

【Tornado中database模块被取消的替代方法】相关文章:

PowerShell单行注释、多行注释、块注释的方法

PowerShell一次打开多个文件的方法

PowerShell Out-File追加字符串到文件末尾的方法

PowerShell 数组的多种录入方法

PowerShell获取Windows用户列表、用户信息的方法

PowerShell中查询错误编号信息的2个方法

Powershell创建数组正确、更快的方法

PowerShell中把IP转换为长整形数字的方法

Powershell实现加密解密文本文件方法实例

PowerShell函数参数设置为即可选又必选的方法

精品推荐
分类导航