【发布时间】:2015-01-22 21:33:52
【问题描述】:
第一季度。
我正在运行本地服务器。它运行没有任何问题。我运行pip install -r requirements.txt 以确保在再次运行之前拥有所有软件包。
现在我不断收到以下错误:
django.db.utils.ProgrammingError: relation "celery_taskmeta" does not exist
有一个相当旧的related question on SO,它建议运行manage.py migrate,但运行它也会返回相同的错误。
这是我requirements.txt的内容:
amqp==1.4.6
anyjson==0.3.3
apns-clerk==0.1.1
arrow==0.4.1
backports.ssl-match-hostname==3.4.0.2
billiard==3.3.0.19
bootstrap-admin==0.3.0
boto==2.25.0
celery==3.1.17
certifi==14.5.14
cffi==0.8.6
cryptography==0.7.1
Cython==0.19.1
dill==0.2.1
Django==1.6.1
django-appconf==0.6
django-bower==4.8.1
django-celery==3.1.0
django-compressor==1.3
django-debug-toolbar==1.2
django-extensions==1.4.9
django-gravatar2==1.1.3
django-picklefield==0.3.1
django-resized==0.2.4
django-ses==0.6.0
djangorestframework==2.3.8
enum34==1.0.4
gcm-client==0.1.4
Jinja2==2.7.3
joblib==0.8.0a3
kombu==3.0.24
line-profiler==1.0b3
MarkupSafe==0.23
mlpy==3.5.0
mock==1.0.1
nose==1.3.4
numpy==1.8.0
Pillow==2.7.0
psycopg2==2.4.6
pyasn1==0.1.7
pycparser==2.10
pyOpenSSL==0.14
pyparsing==2.0.3
python-dateutil==2.2
python-memcached==1.48
python-slugify==0.1.0
pytz==2014.10
pyzmq==14.4.1
raven==3.3.7
requests==2.5.1
scipy==0.13.3
six==1.8.0
South==0.7.6
sqlparse==0.1.11
tornado==4.0.2
Unidecode==0.4.17
yattag==1.0.7
我不确定如何解决此问题。
是不是新旧版本的 Django 和 Celery 不兼容?我最近的安装是两周前的,那么过去两周内是否有可能导致此问题的版本?还是完全不相关?
第二季度。
我是初学者,所以我什至不确定celery_taskmeta 是什么以及它的意义。
【问题讨论】:
-
可能。 Django 1.7 中有一些更改,这些更改会导致旧模块出现问题。最好的方法是在另一个 virtualenv 中复制您的项目,但这次使用 Django 1.7 来解决这个问题。
-
我刚刚尝试过,但没有成功。还有其他方法可以重新制作
celery_taskmeta吗?我是初学者,我什至不确定它是什么以及为什么它很重要。 -
在进行迁移之前,您是否已将“djcelery”添加到 INSTALLED_APPS?你是如何定义 celery 与 django 一起工作的?
-
是的,它已经在我的
INSTALLED_APPS中了。正如我所说,它在我运行pip install命令之前就可以正常工作,实际上requirements.txt文件没有被更改。 -
酷。我还听说过进行虚假迁移 (
./manage.py migrate djcelery 0001 --fake) 的技巧,因此南认为它之前有一个空数据库,现在如果你要求它会应用真正的迁移。 stackoverflow.com/a/9918553/15127
标签: python django celery django-celery