4

最近、tracのインストールで次のエラーが発生し始めました。

MySQLのPythonバインディングを読み込めません

残念ながら、MySQLを再インストールする必要があり、その後、これらの問題が発生し始めました。私はこの1時間、Googleで何かを追跡しようとしていましたが、何も機能しませんでした。MySQLが正しく稼働していることを確認しました。tracに固有の新しいMySQLユーザーを作成しました。すべてのパッケージがそこにあることを確認しました。何もない。

これが私のdkpgです(私はUbuntu Maverickを実行しています):

dpkg -l | grep python

  • libapache2-mod-python
  • libapache2-mod-python-doc
  • libpython2.6
  • libpython3.1
  • Python
  • python-central
  • python-docutils
  • python-genshi
  • python-imaging
  • python-lxml
  • python-最小
  • python-mysqldb
  • python-pkg-resources
  • python-pybabel
  • python-pygments
  • python-roman
  • python-setuptools
  • python-subversion
  • python-support
  • python-tz
  • python2.6
  • python2.6-最小限
  • python3.1
  • python3.1-最小限

誰かがそれが何であるかについて何か考えを持っているならば、私は永遠に感謝するでしょう。

4

2 に答える 2

1

このエラーは、Tracが ""を実行しようとしたときに発生するはずですimport MySQLdbが、失敗します。そのモジュールを提供する適切なパッケージが用意されていますが、何らかの理由で失敗しています。その理由を知るには、Tracが実行されている環境を調べる必要があります。それ以外のPythonを使用してい/usr/bin/python2.6ますか?セットはあり$PYTHONPATHますか?

MySQLdbを直接インポートしてみることもできます。

/usr/bin/python2.6 -c 'import MySQLdb'

パッケージを期待どおりにロードできる場合は、出力がないはずです。

最後に、これは関連していない可能性がありますが、Maverickがサポートされなくなったことをご存知ですか?Ubuntuからセキュリティアップデートやその他のサポートは受けられません。

編集:

python2.6のインポートは正常に機能したため、trac環境を詳しく調べる必要があります。これを行う1つの方法は、db/mysql_backend.pyファイルを編集してデバッグ情報を挿入することです。(これがOSパッケージのインストールである場合は、そのファイルを;の下に見つける必要があります/usr/lib/python2.6/dist-packages/trac/。そうでない場合は、おそらくどこにファイルを置いたかがわかります)。MySQLConnector.get_supported_schemes()プレーンがどこに表示されるかわからないので、メソッドを変更してみましょうprint

def get_supported_schemes(self):
    if not has_mysqldb:
        import sys
        self.error = "Cannot load Python bindings for MySQL. sys.path = %r, sys.executable = %r" \
                     % (sys.path, sys.executable)
    yield ('mysql', -1 if self.error else 1)
于 2012-07-09T17:46:37.147 に答える
0

ポールが示唆しているような特定のpythonインストールを呼び出す代わりに、端末でこれを試してください:

パスの python インスタンスを起動します

python

mysqldb をインポートできるかどうかを確認します

import MySQLdb

また、私たちのために実行します:

pip freeze

mysql-python出力にa が表示されるはずです

于 2012-07-09T17:53:00.233 に答える