• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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/

    上一篇:Powershell直接脚本时出现无法加载文件因为禁止执行脚本
    下一篇:Powershell学习笔记--使用正则表达式查找文件
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Tornado中database模块被取消的替代方法 Tornado,中,database,模块,被,