1

私は、 MySQLdbではなく PyMySQLを使用する MySQL データベースにフックされた django アプリケーションを持っています。詳細については、この質問に対する一般的な回答を参照してください。

ここで、 Celeryを使用して定期的なタスクを作成する必要があります。ここで定期的なタスクのドキュメントに従いました。

コマンドを実行するcelery -A proj beatと、次のエラーが表示されます。

  File "/usr/local/lib/python3.4/dist-packages/django/contrib/auth/forms.py", line 17, in <module>
    from django.contrib.auth.models import User
  File "/usr/local/lib/python3.4/dist-packages/django/contrib/auth/models.py", line 48, in <module>
    class Permission(models.Model):
  File "/usr/local/lib/python3.4/dist-packages/django/db/models/base.py", line 96, in __new__
    new_class.add_to_class('_meta', Options(meta, **kwargs))
  File "/usr/local/lib/python3.4/dist-packages/django/db/models/base.py", line 264, in add_to_class
    value.contribute_to_class(cls, name)
  File "/usr/local/lib/python3.4/dist-packages/django/db/models/options.py", line 124, in contribute_to_class
    self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
  File "/usr/local/lib/python3.4/dist-packages/django/db/__init__.py", line 34, in __getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "/usr/local/lib/python3.4/dist-packages/django/db/utils.py", line 198, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "/usr/local/lib/python3.4/dist-packages/django/db/utils.py", line 113, in load_backend
    return import_module('%s.base' % backend_name)
  File "/usr/lib/python3.4/importlib/__init__.py", line 109, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/usr/local/lib/python3.4/dist-packages/django/db/backends/mysql/base.py", line 17, in <module>
    raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'

MySQLdb モジュールについて説明していますが、MySQLdb を使用しているとは思いません。この問題を解決する方法について誰かアドバイスをいただけますか?

4

2 に答える 2

0

私はこの同じ問題に遭遇し、セロリアプリに以下を追加することで修正できました:

import pymysql
pymysql.install_as_MySQLdb()
于 2015-03-29T23:10:19.540 に答える
0

お使いのコンピューターのオペレーティング システムに適した mysql クライアントをインストールすると、この問題が解決されます。:) Python 2.x の場合: sudo pip install MySQL-python Python 3.x の場合:pip3 install mysqlclient

于 2018-03-11T08:15:26.963 に答える