0

現在のバージョンの OS X を使用している他のほとんどの Mac/MySQL ユーザーと同様に、Python、MySQL、および MySQLdb (MySQL-Python) をうまく連携させるという通常の問題を経験しました。それはしばらくの間機能していましたが、作業中の Django プロジェクトのデバッグに Aptana を使用したいと考えており、デバッガーまたはプロジェクトを実行しようとすると、恐ろしい「mach-o」エラーが発生します。

興味深いのは、私が使用しているのと同じ python を使用するように Aptana を構成したことです (Aptana の内外で「どの python」で確認されました)。Aptana によって呼び出されている python が 32 であることを確認しました。 -bit であるべき (システム端末レポートと同じ)。また、Aptana でターミナルを使用すると、インタラクティブな python シェルを使用して、MySQLdb を正常にインポートできます。だから私は困惑しています。

引数の下で、命令ごとにこれをプログラム引数に追加しています。

runserver 8081 --noreload

しかし、それはAFAIKに影響を与えるべきではありません。私は次に何をすべきか途方に暮れています。起動しようとしたときに Aptana がスローするエラーは次のとおりです。

pydev debugger: starting
Validating models...

Traceback (most recent call last):
  File "/Applications/Aptana Studio 3/plugins/org.python.pydev_2.6.0.2012062515/pysrc/pydevd.py", line 1392, in <module>
    debugger.run(setup['file'], None, None)
  File "/Applications/Aptana Studio 3/plugins/org.python.pydev_2.6.0.2012062515/pysrc/pydevd.py", line 1085, in run
    pydev_imports.execfile(file, globals, locals) #execute the script
  File "/Users/my/path/project/manage.py", line 14, in <module>
    execute_manager(settings)
  File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 438, in execute_manager
    utility.execute()
  File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 379, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 191, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 220, in execute
    output = self.handle(*args, **options)
  File "/Library/Python/2.7/site-packages/django/core/management/commands/runserver.py", line 67, in handle
    self.run(*args, **options)
  File "/Library/Python/2.7/site-packages/django/core/management/commands/runserver.py", line 78, in run
    self.inner_run(*args, **options)
  File "/Library/Python/2.7/site-packages/django/core/management/commands/runserver.py", line 88, in inner_run
    self.validate(display_num_errors=True)
  File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 249, in validate
    num_errors = get_validation_errors(s, app)
  File "/Library/Python/2.7/site-packages/django/core/management/validation.py", line 28, in get_validation_errors
    from django.db import models, connection
  File "/Library/Python/2.7/site-packages/django/db/__init__.py", line 78, in <module>
    connection = connections[DEFAULT_DB_ALIAS]
  File "/Library/Python/2.7/site-packages/django/db/utils.py", line 93, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "/Library/Python/2.7/site-packages/django/db/utils.py", line 33, in load_backend
    return import_module('.base', backend_name)
  File "/Library/Python/2.7/site-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)
  File "/Library/Python/2.7/site-packages/django/db/backends/mysql/base.py", line 14, in <module>
    raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Library/Python/2.7/site-packages/_mysql.so, 2): no suitable image found.  Did find:
    /Library/Python/2.7/site-packages/_mysql.so: mach-o, but wrong architecture

何か案は?

4

1 に答える 1

1

見てみましょう: How do I force Python to be 32-bit on Snow Leopard および Python を 32 ビットで実行するように構成する方法に関するその他の 32 ビット/64 ビットの質問(VERSIONER_PYTHON_PREFER_32_BIT 環境変数が適切な選択のようです)。

または多分: PyDev と OS X の外部ライブラリの問題

于 2012-08-17T11:16:08.303 に答える