时间:2021-05-22
准备用用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/
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、argparse模块1、模块说明#argparse是python的标准库中用来解析命令行参数的模块,用来替代已经过时的optparse模块,argparse
模块概述如果说模块是按照逻辑来组织Python代码的方法,那么文件便是物理层上组织模块的方法。因此,**一个文件被看作是一个独立模块,一个模块也可以被看作是一个
第一个版本在这个版本中,首先创建了RouterConfig对象,其构造方法创建了tornado.web.Application()并赋值为self.Applic
tornado中的协程是如何工作的协程定义Coroutinesarecomputerprogramcomponentsthatgeneralizesubrout
项目背景在实际项目中,Tornado项目作为一个微服务纳入SpringCloud体系,该过程中涉及到Tornado与Spring体系的安全验证,也就是权限调用校