芹菜工人在使用Django作为代理和结果后端时会引发ImportError

芹菜工人在使用Django作为代理和结果后端时会引发ImportError,django,celery,djcelery,Django,Celery,Djcelery,我想在我的开发机器中运行芹菜,使用django作为代理和结果后端(使用django)。我遵循芹菜文档中的入门说明,但在运行命令时: celery -A excelery worker -l info 我在控制台上找到了这个堆栈跟踪。它说django设置模块无法加载,但我现在不知道为什么 我用的是芹菜3.1.4、DJ芹菜3.1.1和Django 1.6 Traceback (most recent call last): File "<string>", line 1, in <

我想在我的开发机器中运行芹菜,使用django作为代理和结果后端(使用django)。我遵循芹菜文档中的入门说明,但在运行命令时:

celery -A excelery worker -l info
我在控制台上找到了这个堆栈跟踪。它说django设置模块无法加载,但我现在不知道为什么

我用的是芹菜3.1.4、DJ芹菜3.1.1和Django 1.6

Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Python27\lib\site-packages\billiard-3.3.0.7-py2.7-win32.egg\billiard\
forking.py", line 457, in main
self = load(from_parent)
File "C:\Python27\lib\pickle.py", line 1378, in load
return Unpickler(file).load()
File "C:\Python27\lib\pickle.py", line 858, in load
dispatch[key](self)
File "C:\Python27\lib\pickle.py", line 1133, in load_reduce
value = func(*args)
File "C:\Python27\lib\site-packages\celery-3.1.4-py2.7.egg\celery\app\utils.py
", line 170, in _unpickle_app_v2
return cls(**kwargs)
File "C:\Python27\lib\site-packages\celery-3.1.4-py2.7.egg\celery\app\base.py"
, line 136, in __init__
symbol_by_name(fixup)(self)
File "C:\Python27\lib\site-packages\celery-3.1.4-py2.7.egg\celery\fixups\djang
o.py", line 39, in fixup
return DjangoFixup(app).install()
File "C:\Python27\lib\site-packages\celery-3.1.4-py2.7.egg\celery\fixups\djang
o.py", line 50, in __init__
self._db = import_module('django.db')
File "C:\Python27\lib\importlib\__init__.py", line 37, in import_module
__import__(name)
File "C:\Python27\lib\site-packages\django\db\__init__.py", line 83, in <modul
e>
signals.request_started.connect(reset_queries)
File "C:\Python27\lib\site-packages\django\dispatch\dispatcher.py", line 88, i
n connect
if settings.DEBUG:
File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 54, in __ge
tattr__
self._setup(name)
File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 49, in _set
up
self._wrapped = Settings(settings_module)
File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 132, in __i
nit__
% (self.SETTINGS_MODULE, e)
ImportError: Could not import settings 'excelery.settings' (Is it on sys.path? I
s there an import error in the settings file?): cannot import name close_old_con
nections
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Python27\lib\site-packages\billiard-3.3.0.7-py2.7-win32.egg\billiard\
forking.py", line 457, in main
self = load(from_parent)
File "C:\Python27\lib\pickle.py", line 1378, in load
return Unpickler(file).load()
File "C:\Python27\lib\pickle.py", line 858, in load
dispatch[key](self)
File "C:\Python27\lib\pickle.py", line 1133, in load_reduce
value = func(*args)
File "C:\Python27\lib\site-packages\celery-3.1.4-py2.7.egg\celery\app\utils.py
", line 170, in _unpickle_app_v2
return cls(**kwargs)
File "C:\Python27\lib\site-packages\celery-3.1.4-py2.7.egg\celery\app\base.py"
, line 136, in __init__
symbol_by_name(fixup)(self)
File "C:\Python27\lib\site-packages\celery-3.1.4-py2.7.egg\celery\fixups\djang
o.py", line 39, in fixup
return DjangoFixup(app).install()
File "C:\Python27\lib\site-packages\celery-3.1.4-py2.7.egg\celery\fixups\djang
o.py", line 50, in __init__
self._db = import_module('django.db')
File "C:\Python27\lib\importlib\__init__.py", line 37, in import_module
__import__(name)
File "C:\Python27\lib\site-packages\django\db\__init__.py", line 83, in <modul
e>
signals.request_started.connect(reset_queries)
File "C:\Python27\lib\site-packages\django\dispatch\dispatcher.py", line 88, i
n connect
if settings.DEBUG:
File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 54, in __ge
tattr__
self._setup(name)
File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 49, in _set
up
self._wrapped = Settings(settings_module)
File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 132, in __i
nit__
% (self.SETTINGS_MODULE, e)
ImportError: Could not import settings 'excelery.settings' (Is it on sys.path? I
s there an import error in the settings file?): cannot import name close_old_con
nections
[2013-11-23 16:34:06,471: ERROR/MainProcess] Process 'Worker-2' pid:2332 exited
with exitcode 1
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“C:\Python27\lib\site packages\billiard-3.3.0.7-py2.7-win32.egg\billiard\
forking.py”,第457行,主视图
self=加载(从父级)
加载文件“C:\Python27\lib\pickle.py”,第1378行
返回Unpickler(file.load())
加载文件“C:\Python27\lib\pickle.py”,第858行
调度[键](自身)
文件“C:\Python27\lib\pickle.py”,第1133行,在load\u reduce中
值=func(*args)
文件“C:\Python27\lib\site packages\cellery-3.1.4-py2.7.egg\cellery\app\utils.py
“,第170行,在_unpickle_app_v2中
返回cls(**kwargs)
文件“C:\Python27\lib\site packages\cellery-3.1.4-py2.7.egg\cellery\app\base.py”
,第136行,在_init中__
符号按名称(固定)(自身)
文件“C:\Python27\lib\site packages\cellery-3.1.4-py2.7.egg\cellery\fixups\djang
o、 py“,第39行,在修正中
返回DjangoFixup(app.install())
文件“C:\Python27\lib\site packages\cellery-3.1.4-py2.7.egg\cellery\fixups\djang
o、 py“,第50行,初始__
self.\u db=import\u模块('django.db')
文件“C:\Python27\lib\importlib\\uuuu init\uuuuu.py”,第37行,在导入模块中
__导入(名称)
文件“C:\Python27\lib\site packages\django\db\\uuuuu init\uuuuuu.py”,第83行,在
信号。请求\u已启动。连接(重置\u查询)
文件“C:\Python27\lib\site packages\django\dispatch\dispatcher.py”,第88行,i
n连接
如果设置为.DEBUG:
文件“C:\Python27\lib\site packages\django\conf\\uuuuu init\uuuuuu.py”,第54行,在
塔特__
自我设置(名称)
文件“C:\Python27\lib\site packages\django\conf\\uuuu init\uuuuu.py”,第49行,在\u集合中
向上的
自包装=设置(设置模块)
文件“C:\Python27\lib\site packages\django\conf\\ uuuuu init\uuuuuu.py”,第132行,在i中
尼特__
%(自我设置模块,e)
ImportError:无法导入设置“excelery.settings”(是否在sys.path?I上)
设置文件中有导入错误吗?:无法导入名称关闭\u旧\u con
连接
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“C:\Python27\lib\site packages\billiard-3.3.0.7-py2.7-win32.egg\billiard\
forking.py”,第457行,主视图
self=加载(从父级)
加载文件“C:\Python27\lib\pickle.py”,第1378行
返回Unpickler(file.load())
加载文件“C:\Python27\lib\pickle.py”,第858行
调度[键](自身)
文件“C:\Python27\lib\pickle.py”,第1133行,在load\u reduce中
值=func(*args)
文件“C:\Python27\lib\site packages\cellery-3.1.4-py2.7.egg\cellery\app\utils.py
“,第170行,在_unpickle_app_v2中
返回cls(**kwargs)
文件“C:\Python27\lib\site packages\cellery-3.1.4-py2.7.egg\cellery\app\base.py”
,第136行,在_init中__
符号按名称(固定)(自身)
文件“C:\Python27\lib\site packages\cellery-3.1.4-py2.7.egg\cellery\fixups\djang
o、 py“,第39行,在修正中
返回DjangoFixup(app.install())
文件“C:\Python27\lib\site packages\cellery-3.1.4-py2.7.egg\cellery\fixups\djang
o、 py“,第50行,初始__
self.\u db=import\u模块('django.db')
文件“C:\Python27\lib\importlib\\uuuu init\uuuuu.py”,第37行,在导入模块中
__导入(名称)
文件“C:\Python27\lib\site packages\django\db\\uuuuu init\uuuuuu.py”,第83行,在
信号。请求\u已启动。连接(重置\u查询)
文件“C:\Python27\lib\site packages\django\dispatch\dispatcher.py”,第88行,i
n连接
如果设置为.DEBUG:
文件“C:\Python27\lib\site packages\django\conf\\uuuuu init\uuuuuu.py”,第54行,在
塔特__
自我设置(名称)
文件“C:\Python27\lib\site packages\django\conf\\uuuu init\uuuuu.py”,第49行,在\u集合中
向上的
自包装=设置(设置模块)
文件“C:\Python27\lib\site packages\django\conf\\ uuuuu init\uuuuuu.py”,第132行,在i中
尼特__
%(自我设置模块,e)
ImportError:无法导入设置“excelery.settings”(是否在sys.path?I上)
设置文件中有导入错误吗?:无法导入名称关闭\u旧\u con
连接
[2013-11-23 16:34:06471:错误/主进程]进程“Worker-2”pid:2332已退出
使用exitcode 1

请尝试升级到3.1.5,并确保使用新的
应用程序。自动发现\u任务(lambda:settings.INSTALLED\u APPS)
方法完成更新教程中的任务。谢谢。芹菜3.1.5似乎解决了这个问题。但在windows上运行它引发了另一个例外。这就是windows中不存在的os.getegid()的问题。升级到芹菜的开发版本也解决了这个问题。