1

我将以下内容放在我的 manage.py 中(使用 django-celery 3.0.21):

import eventlet
pymysql = eventlet.import_patched('pymysql')
pymysql.install_as_MySQLdb()

当我尝试启动 django 或 celery 时出现以下错误:

Traceback (most recent call last):
  File "manage.py", line 8, in <module>
    pymysql.install_as_MySQLdb()
  File "/home/ubuntu/.virtualenvs/myenv/lib/python2.6/site-packages/pymysql/__init__.py", line 115, in install_as_MySQLdb
    sys.modules["MySQLdb"] = sys.modules["_mysql"] = sys.modules["pymysql"]
KeyError: 'pymysql'

基本上我真的很想将 celery 与 eventlet 一起使用,但我需要一个“绿色”的 Python MySQL 库。

4

1 回答 1

1

谢谢,这看起来像一个错误eventlet.import_patched(),我在错误跟踪器中打开了一个问题 [1]。

您可以使用以下代码:

import eventlet
eventlet.monkey_patch()
# everything below is patched to be green

import pymysql
pymysql.install_as_MySQLdb()

[1] 相关 Eventlet 问题https://github.com/eventlet/eventlet/issues/81

于 2014-03-29T05:54:53.530 回答