【问题标题】:Why would I get "SyntaxError: Non-ASCII character '\xa3'" when running celeryd?为什么在运行 celeryd 时会出现“SyntaxError: Non-ASCII character '\xa3'”?
【发布时间】:2012-01-13 21:07:44
【问题描述】:

我正在尝试在 Ubuntu 上使用 Django 和 Virtualenv 运行 celeryd,但出现此错误:

celeryd-multi v2.4.5
> Starting nodes...
    > celery.heron:   File "/sites/.virtualenvs/myproject/bin/python", line 1
SyntaxError: Non-ASCII character '\xa3' in file /sites/.virtualenvs/myproject/bin/python on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
* Child terminated with failure code 1
FAILED

我认为这是一个编码问题,但不确定在哪里。我将# -*- coding: utf-8 -*- 添加到我的 celeryd-multi 脚本、manage.py 脚本以及具有任务代码的实际 .py 文件中,但这并没有解决问题。

这是我的/etc/default/celeryd 配置文件:

CELERYD="/sites/.virtualenvs/myproject/bin/python /sites/dev.myproject.co/code/myproject/manage.py celeryd"

CELERYD_CHDIR="/sites/dev.myproject.co/code/myproject"

DJANGO_SETTINGS_MODULE="settings"

CELERYD_OPTS="-v 2 -B -s celery -E"

CELERYD_LOG_FILE="/sites/dev.myproject.co/logs/celery.log"

CELERYD_USER="www-data"

CELERYD_GROUP="www-data"

我错过了什么?

【问题讨论】:

  • 您是否尝试将 Python 解释器二进制文件作为 Python 脚本执行?
  • 是的,看起来正在发生的事情。请参阅下面的答案和 cmets。

标签: python django ubuntu virtualenv celery


【解决方案1】:

这不是编码问题。看看哪个文件有编码问题:

/sites/.virtualenvs/myproject/bin/python

看起来 celery 正在尝试将您的 CELERYD 变量解析为 python 文件,尽管它实际上是 python 二进制文件。尝试从 CELERYD 变量声明的开头删除 python 二进制字符串。

【讨论】:

  • 在这种情况下,我将如何确保它运行我的 virtualenv 中正确版本的 python?例如,当我删除该行时,它会尝试在未激活 virtualenv 的情况下运行 manage.py celerdy,因此出现无法导入模块的错误(例如 djcelery)。
【解决方案2】:

感谢@gravitron 和@Wooble 的提示,我通过将以下内容添加到我的 celeryd 配置中解决了这个问题:

# Python interpreter from environment.
ENV_PYTHON="/sites/.virtualenvs/myproject/bin/python"

# How to call "manage.py celeryd_multi"
CELERYD_MULTI="$ENV_PYTHON $CELERYD_CHDIR/manage.py celeryd_multi"

# How to call "manage.py celeryctl"
CELERYCTL="$ENV_PYTHON $CELERYD_CHDIR/manage.py celeryctl"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 2021-12-11
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多