2014-03-28 2 views
1

내가 (장고 - 셀러리 3.0.21을 사용) 내 manage.py에 다음을 넣어 :geym과 django-celery와 함께 pymysql을 사용하려면 어떻게해야합니까?

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

내가 장고 또는 셀러리를 시작하려고 할 때 다음과 같은 오류가 :

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과 함께 셀러리를 사용하고 싶지만, 이것을 위해 "greenable"Python MySQL 라이브러리가 필요하다.

+0

'gevent'와'eventlet' 두 개의 서로 다른 라이브러리입니다. 어느 것을 사용 하시겠습니까? – msvalkon

+0

죄송합니다. 제 질문의 제목이 잘못되었습니다. 셀 룰리가 지원하는 이벤트 릿을 사용하고 싶었습니다. – Cesar

답변

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

관련 문제