3

私のセットアップ:

  • Mac OS 10.6.6 - x86_64
  • MySQL 5.5.8
  • パイソン 2.7.1
  • ジャンゴ 1.2.5
  • easy_install 経由でインストールされた mysql-python

私の状況:

セットアップを機能させるのに苦労しています。問題は mysql-python インターフェイスにあります。もともと、Pythonでインポートステートメントを実行すると、(Djangoで発生したものと)同様の問題が発生していました。

import MySQLdb

しかし、私はそれを修正することに成功したことを証明したこの質問/解決策を読みました。django をインストールしましたが、問題なく動作しますが、mysql インターフェースに問題があります。ターミナルを起動して次のように入力すると:

>> python manage.py dbshell

次のエラーが生成されます。

トレースバック (最新の呼び出しが最後): ファイル "manage.py"、11 行目、execute_manager(settings) ファイル "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/ core/management/ init .py"、438 行目、execute_manager utility.execute() ファイル内"/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/ init .py"、379 行目、実行中の self.fetch_command(subcommand).run_from_argv(self.argv) ファイル "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/コア/管理/初期化.py」、261 行目、fetch_command内py"、67 行目、load_command_class モジュール = import_module('%s.management.commands.%s' % (app_name, name)) ファイル "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 /site-packages/django/utils/importlib.py"、35 行目、import_module の import (name) ファイル " /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/ core/management/commands/dbshel​​l.py」、4 行目、django.db インポート接続から、DEFAULT_DB_ALIAS ファイル「/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/init .py"、77 行目、接続中 = connections[DEFAULT_DB_ALIAS] ファイル "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/utils.py"、行92, getitem backend = load_backend(db['ENGINE']) ファイル内 "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/utils.py", 行33, in load_backend return import_module('.base', backend_name) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/utils/importlib.py", line 35 、 import_module インポートで(名前) ファイル "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/backends/mysql/base.py"、14 行目、raise ImproperlyConfigured("Error MySQLdb モジュールの読み込み: %s" % e) django.core.exceptions.ImproperlyConfigured: MySQLdb モジュールの読み込みエラー: dlopen(/Users/adogc45/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.6-intel .egg-tmp/_mysql.so、2): ライブラリがロードされていません: libmysqlclient.16.dylib 参照元: /Users/adogc45/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.6-intel. Egg-tmp/_mysql.so 理由: イメージが見つかりません

Python でモジュールをインポートしてもエラーが発生しないのに、django で mysql インターフェイスを使用するとエラーが発生する理由がわかりません。

ところで、私のsettings.pyは次のようになります:

DATABASES = {
'default': {
    'ENGINE': 'mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.

また、イメージは実際には .../MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg-tmp に存在します

だから、私は何が起こっているのか分かりません。

4

3 に答える 3

5

DYLD_LIBRARY_PATH = / usr / local / mysql / lib:$DYLD_LIBRARY_PATHをエクスポートします

また:

pip install MySQL-python
pip install --upgrade MySQL-python

virtualenv内で私を助けてくれました

于 2011-09-12T17:42:04.323 に答える
2

同様の問題がありましたが、.bash_profile ファイル (シェルを実行する ~ ディレクトリ内の魔法のファイル) に次の行を含めることで開発プログラムを解決しました: export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/問題のある libmysqlclient.16.dylib はそのディレクトリにあります。

ただし、これをApache内でpython wsgiモジュールとして実行しようとすると、何をしてもApacheはlibmysqlclient.16.dylibを見つけることができません。試してみました sys.path.append('/usr/local/mysql/lib') os.environ['DYLD_LIBRARY_PATH'] = '/usr/local/mysql/lib' 運が悪い... Apacheはこれを読み取っていないようです環境変数も、このコンテキスト(.bash_profileファイルを読み取っていない場所)でのpythonもありません...助けて!!!

于 2011-03-11T07:32:07.123 に答える
0

試す:

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.mysql',

mysqlDjango 1.2.5 を実行している場合は、単に の代わりに。

于 2011-03-07T01:46:31.000 に答える