Python TypeError:必须以签名实例作为第一个参数调用unbound方法check()(而不是获取任何内容)

Python TypeError:必须以签名实例作为第一个参数调用unbound方法check()(而不是获取任何内容),python,django,Python,Django,我正在将一个现有的Django应用程序从1.3升级到1.11,大多数事情都运行良好,现在正试图让芹菜工作起来。我得到一些与芹菜有关的未知列错误,所以我想我需要运行迁移。但是,运行./manage.py check或./manage.py makemigrations会在标题中出现错误,我无法修复此问题。它似乎来自Django的代码,而不是我的应用程序-以下是完整的堆栈跟踪: Traceback (most recent call last): File "./manage.py", line

我正在将一个现有的Django应用程序从1.3升级到1.11,大多数事情都运行良好,现在正试图让芹菜工作起来。我得到一些与芹菜有关的未知列错误,所以我想我需要运行迁移。但是,运行./manage.py check或./manage.py makemigrations会在标题中出现错误,我无法修复此问题。它似乎来自Django的代码,而不是我的应用程序-以下是完整的堆栈跟踪:

Traceback (most recent call last):
  File "./manage.py", line 7, in <module>
    execute_from_command_line(sys.argv)
  File "/var/www/caretaker/www/production/env/lib/python2.7/site-packages/django/core/management/__init__.py", line 363, in execute_from_command_line
    utility.execute()
  File "/var/www/caretaker/www/production/env/lib/python2.7/site-packages/django/core/management/__init__.py", line 355, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/var/www/caretaker/www/production/env/lib/python2.7/site-packages/django/core/management/base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/var/www/caretaker/www/production/env/lib/python2.7/site-packages/django/core/management/base.py", line 327, in execute
    self.check()
  File "/var/www/caretaker/www/production/env/lib/python2.7/site-packages/django/core/management/base.py", line 359, in check
    include_deployment_checks=include_deployment_checks,
  File "/var/www/caretaker/www/production/env/lib/python2.7/site-packages/django/core/management/base.py", line 346, in _run_checks
    return checks.run_checks(**kwargs)
  File "/var/www/caretaker/www/production/env/lib/python2.7/site-packages/django/core/checks/registry.py", line 81, in run_checks
    new_errors = check(app_configs=app_configs)
  File "/var/www/caretaker/www/production/env/lib/python2.7/site-packages/django/core/checks/model_checks.py", line 30, in check_all_models
    errors.extend(model.check(**kwargs))
TypeError: unbound method check() must be called with Signature instance as first argument (got nothing instead)
pip冻结:

amqp==1.4.9
amqplib==1.0.2
anyjson==0.3.3
asn1crypto==0.22.0
bcrypt==3.1.3
billiard==3.3.0.23
celery==3.1.25
cffi==1.10.0
cryptography==1.9
Django==1.11.3
django-celery==3.2.1
django-countries==4.6.1
django-debug-toolbar==1.4
django-kombu==0.9.4
django-localflavor==1.5.2
django-picklefield==1.0.0
django-signature==0.3.1
enum34==1.1.6
Fabric==1.13.2
idna==2.5
importlib==1.0.4
ipaddress==1.0.18
kombu==3.0.37
lxml==3.8.0
M2Crypto==0.26.0
MySQL-python==1.2.5
odict==1.6.2
paramiko==2.2.1
pyasn1==0.2.3
pycparser==2.18
pycrypto==2.6.1
PyNaCl==1.1.2
pyparsing==1.5.7
python-dateutil==1.5
pytz==2017.2
PyYAML==3.12
six==1.10.0
soaplib==1.0.0
sqlparse==0.2.3
typing==3.6.1
vine==1.1.4
virtualenv==15.1.0
到目前为止,我已经证实的事情:

我在一个virtualenv下运行,它在运行命令之前被激活 系统和virtualenv上的python版本都是相同的2.7.5 应用程序本身似乎可以通过WSGI与新的Django配合使用,因此我怀疑这与通过命令行运行有关 非常感谢您的帮助或指点。

听起来您的签名模型有一个检查方法,它与Django 1.7中引入的方法相冲突

将Signature.check方法重命名为其他方法,并记住更新调用它的任何代码

似乎签名模型可能来自,但多年来似乎没有更新。你可能不得不放弃这个计划,或者寻找替代方案

amqp==1.4.9
amqplib==1.0.2
anyjson==0.3.3
asn1crypto==0.22.0
bcrypt==3.1.3
billiard==3.3.0.23
celery==3.1.25
cffi==1.10.0
cryptography==1.9
Django==1.11.3
django-celery==3.2.1
django-countries==4.6.1
django-debug-toolbar==1.4
django-kombu==0.9.4
django-localflavor==1.5.2
django-picklefield==1.0.0
django-signature==0.3.1
enum34==1.1.6
Fabric==1.13.2
idna==2.5
importlib==1.0.4
ipaddress==1.0.18
kombu==3.0.37
lxml==3.8.0
M2Crypto==0.26.0
MySQL-python==1.2.5
odict==1.6.2
paramiko==2.2.1
pyasn1==0.2.3
pycparser==2.18
pycrypto==2.6.1
PyNaCl==1.1.2
pyparsing==1.5.7
python-dateutil==1.5
pytz==2017.2
PyYAML==3.12
six==1.10.0
soaplib==1.0.0
sqlparse==0.2.3
typing==3.6.1
vine==1.1.4
virtualenv==15.1.0