2015-03-03 84 views
0

我想运行一个Django项目,在我的同事的机器上工作正常,但在尝试运行服务器时从干草堆中得到一个错误。Django haystack语法错误

File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/usr/local/lib/python3.2/dist-packages/django/core/management/__init__.py", line 399, in execute_from_command_line 
    utility.execute() 
    File "/usr/local/lib/python3.2/dist-packages/django/core/management/__init__.py", line 392, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/usr/local/lib/python3.2/dist-packages/django/core/management/base.py", line 242, in run_from_argv 
    self.execute(*args, **options.__dict__) 
    File "/usr/local/lib/python3.2/dist-packages/django/core/management/base.py", line 280, in execute 
    translation.activate('en-us') 
    File "/usr/local/lib/python3.2/dist-packages/django/utils/translation/__init__.py", line 130, in activate 
    return _trans.activate(language) 
    File "/usr/local/lib/python3.2/dist-packages/django/utils/translation/trans_real.py", line 188, in activate 
    _active.value = translation(language) 
    File "/usr/local/lib/python3.2/dist-packages/django/utils/translation/trans_real.py", line 177, in translation 
    default_translation = _fetch(settings.LANGUAGE_CODE) 
    File "/usr/local/lib/python3.2/dist-packages/django/utils/translation/trans_real.py", line 159, in _fetch 
    app = import_module(appname) 
    File "/usr/lib/python3.2/importlib/__init__.py", line 124, in import_module 
    return _bootstrap._gcd_import(name[level:], package, level) 
    File "/usr/lib/python3.2/importlib/_bootstrap.py", line 821, in _gcd_import 
    loader.load_module(name) 
    File "/usr/lib/python3.2/importlib/_bootstrap.py", line 436, in load_module 
    return self._load_module(fullname) 
    File "/usr/lib/python3.2/importlib/_bootstrap.py", line 141, in decorated 
    return fxn(self, module, *args, **kwargs) 
    File "/usr/lib/python3.2/importlib/_bootstrap.py", line 342, in _load_module 
    exec(code_object, module.__dict__) 
    File "/usr/local/lib/python3.2/dist-packages/haystack/__init__.py", line 7, in <module> 
    from haystack.utils import loading 
    File "/usr/local/lib/python3.2/dist-packages/haystack/utils/__init__.py", line 28 
    raise AttributeError(u"Provided string '%s' is not a valid identifier." % obj_or_string) 
                     ^
SyntaxError: invalid syntax 

我已经草垛包含在安装的应用程序。

Linux操作系统Ubuntu 3.5.0-44泛型#67,Ubuntu的SMP周二11月12日19点36分14秒UTC 2013 x86_64的x86_64的x86_64的GNU/Linux的

的Python 3.2.3

PIP 6.0.8从/usr/local/lib/python3.2/dist-packages(蟒蛇3.2)

Name: django-haystack 
Version: 2.3.1 
Location: /usr/local/lib/python3.2/dist-packages 
Requires: Django 

任何想法,欢迎

感谢

+0

请你可以粘贴你的代码的相关部分? – br3w5 2015-03-03 10:42:42

+0

他的代码没有任何更改,所以我不知道要发布什么,看起来错误来自干草堆。 – holmeswatson 2015-03-03 11:03:37

回答

1

这似乎是一个Python版本问题。 Python 3.2没有字符串的u前缀,因为在Python 3中默认情况下字符串是unicode。在Python 3.3中重新引入了前缀,以使与2.7的兼容性更容易。请参阅3.3 release notes

请注意,PyPI page for Haystack 2.3.1提到3.3+作为一项要求。

您应该将您的Python版本升级到3.3。

+0

谢谢,我现在升级了我的python3版本。我的django版本仍然安装了python3.2,但重新安装pip3会将它安装到python3.2,我如何安装特定版本的pip3,或者更改它试图安装到的python版本? – holmeswatson 2015-03-03 11:22:03

+0

使用virtualenv。 – 2015-03-03 11:31:12