Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
强制芹菜守护进程使用Python 3_Python_Linux_Django_Celery_Daemon - Fatal编程技术网

强制芹菜守护进程使用Python 3

强制芹菜守护进程使用Python 3,python,linux,django,celery,daemon,Python,Linux,Django,Celery,Daemon,所以我已经为此挣扎了很长一段时间,但我似乎找不到解决办法 我已经装上了芹菜 pip3 install --user celery 在我尝试运行芹菜工人并按照官方文档作为守护程序运行之前,一切都很正常 我遇到的具体问题是,守护进程的配置文件需要到芹菜的完整路径,我在文件中找到并指定了芹菜,如下所示 CELERY_BIN="/home/my_home/.local/bin/celery" 但是当我运行守护进程时,它说我没有一个名为芹菜的模块 me@my_computer:/etc/default

所以我已经为此挣扎了很长一段时间,但我似乎找不到解决办法

我已经装上了芹菜

pip3 install --user celery
在我尝试运行芹菜工人并按照官方文档作为守护程序运行之前,一切都很正常

我遇到的具体问题是,守护进程的配置文件需要到芹菜的完整路径,我在文件中找到并指定了芹菜,如下所示

CELERY_BIN="/home/my_home/.local/bin/celery"
但是当我运行守护进程时,它说我没有一个名为芹菜的模块

me@my_computer:/etc/default$ sudo /etc/init.d/celeryd start
celery init v10.1.
Using config script: /etc/default/celeryd
Traceback (most recent call last):
  File "/home/my_home/.local/bin/celery", line 7, in <module>
    from celery.__main__ import main
ImportError: No module named 'celery'
您可以使用将调用容器化,以便没有其他python二进制文件可用


我使用venv统一运行django环境,因为这样您就可以升级一个应用程序的依赖项,而无需升级所有应用程序。你不必将整个应用程序打包,但是你的系统环境可能会与你的venv不同步,从而导致奇怪的问题。最好将django和芹菜装在同一个venv中,然后像这样调用它们

PATH/TO/VENV/bin/python ...
您可以使用将调用容器化,以便没有其他python二进制文件可用


我使用venv统一运行django环境,因为这样您就可以升级一个应用程序的依赖项,而无需升级所有应用程序。你不必将整个应用程序打包,但是你的系统环境可能会与你的venv不同步,从而导致奇怪的问题。最好将django和芹菜装在同一个venv中,然后像这样调用它们

PATH/TO/VENV/bin/python ...

您可以使用将调用容器化,以便没有其他python二进制文件可用。@RossRogers如果这是一个愚蠢的问题,很抱歉。我不太熟悉venv,我正在使用芹菜和django服务器来运行这个守护进程,我应该将整个内容容器化还是只使用芹菜?我使用venv统一容器化运行django环境,因为这样你就可以升级一个应用程序的依赖项,而无需升级所有依赖项。您不必将整个应用程序打包,但这样您的系统环境可能会与您的venv不同步,从而导致奇怪的问题。“把django和芹菜装在同一个容器里可能会更好。”罗丝罗杰斯:好的,谢谢你的明确解释。我会试试看,然后把结果告诉你。@RossRogers你的方法是正确的。如果你想添加答案,我会选择正确的答案。你可以使用容器化调用,这样就没有其他python二进制文件可用。@RossRogers如果这是一个愚蠢的问题,我很抱歉。我不太熟悉venv,我正在使用芹菜和django服务器来运行这个守护进程,我应该将整个内容容器化还是只使用芹菜?我使用venv统一容器化运行django环境,因为这样你就可以升级一个应用程序的依赖项,而无需升级所有依赖项。您不必将整个应用程序打包,但这样您的系统环境可能会与您的venv不同步,从而导致奇怪的问题。“把django和芹菜装在同一个容器里可能会更好。”罗丝罗杰斯:好的,谢谢你的明确解释。我会试试看,然后把结果告诉你。@RossRogers你的方法是正确的。如果你愿意添加一个答案,我会选择它作为正确的答案。
PATH/TO/VENV/bin/python ...