我正在使用Celery进行第一步。我创建了一个基于http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html中描述的步骤的小例子当我尝试使用
手动启动工作程序时celery -A my_example worker --loglevel=info
我遇到错误,因为找不到我的virtualenv中的模块。 virtualenv被激活并且模块已经安装,所以我假设芹菜正在使用我的全局python解释器。我查了一下
celery worker --help
但没有找到指定某个解释器或virtualenv的参数。有人可以告诉我如何在virtualenv中手动启动工作人员吗?
更新
我在我的全球python环境和我的virtualenv中安装了Celery。我删除了两个并仔细检查了两个版本都被删除了。然后我安装了芹菜我的virutalenv。如果我现在调用celery
命令行工具,则会收到以下错误:
-bash: /usr/local/bin/celery: No such file or directory
如果要安装工具,那就是安装工具的位置。那么Celery在virtualenv工作了吗?
答案 0 :(得分:6)
试图在virtualenv中干净地安装celery(不在全局系统解释器中安装):
mkdir celery-test
cd celery-test
virtualenv-2.7 .python
source .python/bin/activate
pip install celery
celery worker --help
它完美无缺,which celery
给了我:
/home/user/projects/celery-test/.python/bin/celery
正如所料。
我建议您重新运行终端会话(PATH可能出现的问题)。
如果它没有帮助,那么你可以检查你的PATH变量来找到,为什么来自virtualenv的芹菜不可见。
如果PATH没有问题,但问题仍然存在,请尝试从头开始重新创建你的virtualenv。
修改强>
另一个建议:检查输出:
which celery
它应该指向一些路径,但它也可能是这样的别名:
celery: aliased to /somepath/bin/celery
如果它实际上是别名,那么您需要检查~/.bashrc
(~/.zshrc
)或~/.bash_profile
(~/.zprofile
),甚至/etc/profile.d/*
的内容}文件夹。你需要摆脱这个别名。