0

コンピューターにトルネードとXAMPPの両方をインストールしています。従来、私はすべてのMySQL作業にPhpMyAdminを使用していました。ただし、これはトルネードでも機能させたいと思います。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がインストールされているとは思わないようになります。

__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ます。MySQL-Pythonと互換性を持たせるために、32ビットバージョンのMySQLをインストールする必要がありますか?(Lionには64ビットのMySQLが必要だと思いました...しかし、今は明らかに何も知りません)。これは困惑しています!

考えは大歓迎です。

4

1 に答える 1

0

この問題の解決策を見つけました。MySQL-Python を適切に (再) インストールする必要がありました。また、Python 2.7.1 を 64 ビットではなく 32 ビット バージョンに切り替える必要がありました。OSX Lionでは、MySQL を 64 ビットとしてインストールする必要があります。互換性を簡単に実現するのは難しいようです。そのため、多くの人が MySQL と MySQL-Python の両方をインストールするために使用した別の実行可能なオプションは、MacPortsをインストール/使用してから、次の 2 つのコマンドを使用することでした。

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

とにかく、これで十分でない場合は、ソリューションのより包括的な説明について、この SO の質問を参照してください: How to install MySQLdb (Python data access library to MySQL) on Mac OS X?

于 2013-02-08T22:12:44.740 に答える