2014-02-18 3 views
1

Я пытаюсь установить вариант django-cms (wagtail) и получить все, до тех пор, пока я не буду выполнять './manage.py syncdb'. В этот момент я получаю отслеживающий следующим образом:SyntaxError: Invalid Синтаксис при запуске syncdb на django

Traceback (most recent call last): 
    File "./manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/opt/software/virt_env/virt1/lib/python2.6/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line 
    utility.execute() 
    File "/opt/software/virt_env/virt1/lib/python2.6/site-packages/django/core/management/__init__.py", line 392, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/opt/software/virt_env/virt1/lib/python2.6/site-packages/django/core/management/__init__.py", line 272, in fetch_command 
    klass = load_command_class(app_name, subcommand) 
    File "/opt/software/virt_env/virt1/lib/python2.6/site-packages/django/core/management/__init__.py", line 75, in load_command_class 
    module = import_module('%s.management.commands.%s' % (app_name, name)) 
    File "/opt/software/virt_env/virt1/lib/python2.6/site-packages/django/utils/importlib.py", line 40, in import_module 
    __import__(name) 
    File "/opt/software/virt_env/virt1/lib/python2.6/site-packages/south/management/commands/__init__.py", line 10, in <module> 
    import django.template.loaders.app_directories 
    File "/opt/software/virt_env/virt1/lib/python2.6/site-packages/django/template/loaders/app_directories.py", line 23, in <module> 
    mod = import_module(app) 
    File "/opt/software/virt_env/virt1/lib/python2.6/site-packages/django/utils/importlib.py", line 40, in import_module 
    __import__(name) 
    File "/opt/software/virt_env/virt1/src/wagtail/wagtail/wagtailsearch/__init__.py", line 1, in <module> 
    from indexed import Indexed 
    File "/opt/software/virt_env/virt1/src/wagtail/wagtail/wagtailsearch/indexed.py", line 43 
    indexed_fields = {field: dict(type="string") for field in indexed_fields} 
               ^
SyntaxError: invalid syntax 

Похоже, что для синтаксиса цикла все в порядке ... любые идеи? Или произошло сильное изменение синтаксиса между python 2.6.6 и python27?

Я бегу PYTHON 2.6.6 и Джанго 1.6.1 работает на RHEL 6.4 (2.6.32-358.el6.x86_64), Postgres 8.4.18

Любые идеи или мысли были бы весьма признателен

ответ

0

dictionary comprehensions were added in Python 2.7. Вы используете 2.6. Таким образом, вы должны изменить эту строку:

indexed_fields = {field: dict(type="string") for field in indexed_fields} 

В это:

indexed_fields = dict((field, dict(type="string")) for field in indexed_fields) 
+0

Спасибо за быстрый ответ ... Я понял, что это было что-то делать с версиями. К сожалению, RHEL поставляется только с Python 2.6 (за исключением новых коллекций программного обеспечения), но я внес изменения в синтаксис, и все это работало безупречно. Примечание для себя, для развертывания на Python27 в prod. – djfidelio

+0

Да, я застрял на 2.6 в своей среде по той же причине – mhlester

Смежные вопросы