0

我的电脑上同时安装了 Tornado 和 XAMPP。传统上,我使用 PhpMyAdmin 来完成我所有的 MySQL 工作。但是,我也想用 Tornado 来完成这项工作。当我尝试通过 Tornado 连接到 MySQL 时,出现以下错误:

Traceback (most recent call last):
  File "__server.py", line 20, in <module>
    class Application(tornado.web.Application):
  File "__server.py", line 40, in Application
    password=options.mysql_password
  File "/Library/Python/2.7/site-packages/tornado-2.4.1-py2.7.egg/tornado/database.py",     line 59, in __init__
    args = dict(conv=CONVERSIONS, use_unicode=True, charset="utf8",
NameError: global name 'CONVERSIONS' is not defined

这个错误让我相信 Tornado 认为我的计算机上没有安装 MySQL。

以下是相关的 Tornado 代码,__server.py如果它有什么不同的话:

import tornado.database
import tornado.options
import unicodedata
from tornado.options import define, options

define("port", default=8888, help="run on the given port", type=int)
define("mysql_host", default="localhost", help="database host") #127.0.0.1:3306 – this was the      default (should I change it? I didn't get this far in the setup process to know)
define("mysql_database", default="Godzillian1", help="database name")
define("mysql_user", default="root", help="database user")
define("mysql_password", default="", help="database password")

class Application(tornado.web.Application):
    self.db = tornado.database.Connection(
        host=options.mysql_host, 
        database=options.mysql_database,
        user=options.mysql_user, 
        password=options.mysql_password
    )

因此我的问题是:我是否需要更改 Tornado 配置文件中的某些内容或其他内容?目前任何 MySQL 文件都位于我的 XAMPP 文件夹中。这对我来说似乎有问题,但在我移动所有东西之前,我想检查一下。或者,我是否需要完全“重新下载”MySql?或者它与龙卷风__server.py本身有关。(注意:为此,我删除了密码并制作了username=root,试图找出解决方案。)

编辑:我已经成功安装了 MySQL5(64 位)和 MySQL-Python,但我仍然收到同样的错误NameError: global name 'CONVERSATIONS' is not defined。我应该安装 32 位版本的 MySQL 以使其与 MySQL-Python 兼容吗?(我认为 Lion 需要 64 位 MySQL ......但我现在显然一无所知)。这很令人困惑!

非常感谢的想法。

4

1 回答 1

0

我想出了解决这个问题的方法。MySQL-Python 必须正确(重新)安装。我还必须将我的 python 2.7.1 切换到 32 位版本而不是 64 位,并且在 OSX Lion上,MySQL 必须安装为 64 位。兼容性似乎很难轻松实现,因此许多人用来安装 MySQL 和 MySQL-Python 的另一个可行选择是安装/使用MacPorts,然后使用这两个命令:

sudo port install py26-mysql 
sudo port install mysql5-server

无论如何,如果这还不够,请参阅这个 SO 问题以获得对解决方案的更全面的解释: 如何在 Mac OS X 上安装 MySQLdb (Python 数据访问库到 MySQL)?

于 2013-02-08T22:12:44.740 回答