我将以下内容放在manage.py中(使用django-celery 3.0.21):
import eventlet
pymysql = eventlet.import_patched('pymysql')
pymysql.install_as_MySQLdb()
当我尝试启动django或芹菜时,我收到以下错误:
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'
基本上我真的想用芹菜和eventlet,但我需要一个&#34; greenable&#34;用于此的Python MySQL库。
答案 0 :(得分: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