我只是在使用芹菜做我的第一步。我创建了一个小示例,该示例基于 http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html 当我尝试手动启动工作线程时所述的步骤
celery -A my_example worker --loglevel=info
我运行错误,因为找不到我的虚拟环境中的模块。虚拟环境被激活并安装了模块,所以我假设芹菜正在使用我的全局 python 解释器。我检查了
celery worker --help
但没有找到指定某个解释器或虚拟环境的参数。有人可以告诉我如何在虚拟环境中手动启动工作线程吗?
更新:
我在我的全局 python 环境和我的 virtualenv 中安装了 Celery。我删除了两个版本,并仔细检查了两个版本是否都被删除了。然后我安装了芹菜我我的维鲁塔伦夫。如果我现在调用 celery
comand 行工具,它会得到以下错误:
-bash: /usr/local/bin/celery: No such file or directory
这是工具的安装位置(如果要全局安装)。那么芹菜是否从虚拟环境中工作?
尝试在 virtualenv 中干净地安装芹菜(无需在全局系统解释器中安装):
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 没有问题,但问题仍然存在,请尝试从头开始重新创建您的虚拟环境。
编辑:
另一个建议:检查输出:
which celery
它应该指向某个路径,但它也可以像这样别名:
celery: aliased to /somepath/bin/celery
如果它实际上别名为某些东西,那么您需要检查您的~/.bashrc
(~/.zshrc
)或~/.bash_profile
(~/.zprofile
),甚至是/etc/profile.d/*
文件夹的内容。您需要摆脱此别名。