准备用用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模块,torndb模块

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“Tornado中database模块被取消的替代方法”
暂无“Tornado中database模块被取消的替代方法”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。