Tornado中database模块被取消的替代方法
准备用用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/
相关推荐
selectY 2020-07-18
zhangxuelong 2020-06-14
zhangxuelong 2020-06-14
牧码人 2020-06-14
hjhmpl 2020-06-14
thundor 2020-05-05
Cagey 2020-04-25
KarlDoenitz 2020-04-16
牧码人 2020-01-25
KarlDoenitz 2019-12-28
hjhmpl 2019-12-25
hjhmpl 2019-12-17
selectY 2019-12-11
KarlDoenitz 2019-12-06
selectY 2019-12-05
Cagey 2019-12-05
hjhmpl 2019-11-03
牧码人 2019-11-03
chenzhanhai 2019-04-09