2014-01-10 52 views
1

我想安装使用pip-3.2的django-sphinx,但我有语法错误。django-sphinx电池支持python3

请告诉我如何在Python 3.2中安装django-sphinx。

我从http://sphinxsearch.com/downloads/release/ 下载狮身人面像的deb包安装:

dpkg -i sphinxsearch_2.1.4-release-1~wheezy_amd64.deb 

安装日志:

Do not forget to reindex all indexes by running: indexer --all 

Starting sphinxsearch: Sphinx 2.1.4-id64-release (rel21-r4421) 
Copyright (c) 2001-2013, Andrew Aksyonoff 
Copyright (c) 2008-2013, Sphinx Technologies Inc (http://sphinxsearch.com) 

using config file '/etc/sphinxsearch/sphinx.conf'... 
listening on all interfaces, port=9312 
listening on all interfaces, port=9306 
precaching index 'test1' 
WARNING: index 'test1': preload: failed to open /var/lib/sphinxsearch/data/test1.sph: No such file or directory; NOT SERVING 
precaching index 'test1stemmed' 
WARNING: index 'test1stemmed': preload: failed to open /var/lib/sphinxsearch/data/test1stemmed.sph: No such file or directory; NOT SERVING 
WARNING: multiple addresses found for 'localhost', using the first one (ip=127.0.0.1) 
precaching index 'rt' 
precached 3 indexes in 0.040 sec 
sphinxsearch is started. 

安装狮身人面像我运行PIP-3.2后,尝试安装Django的狮身人面像: 安装日志:

Downloading/unpacking django-sphinx 
    Downloading django-sphinx-2.2.4.tar.gz 
    Running setup.py egg_info for package django-sphinx 

    warning: no previously-included files matching '*~' found anywhere in distri 
bution 
Requirement already satisfied (use --upgrade to upgrade): django in /usr/local/l 
ib/python3.2/dist-packages (from django-sphinx) 
Installing collected packages: django-sphinx 
    Running setup.py install for django-sphinx 

    warning: no previously-included files matching '*~' found anywhere in distri 
bution 
     File "/usr/local/lib/python3.2/dist-packages/djangosphinx/config.py", line 
56 
     print render_to_string(getattr(settings, 'SPHINX_CONFIG_TEMPLATE', 'conf 
/sphinx.conf'), context) 
          ^
    SyntaxError: invalid syntax 

     File "/usr/local/lib/python3.2/dist-packages/djangosphinx/apis/current.py" 
, line 5 
     except ImportError, exc: 
         ^
    SyntaxError: invalid syntax 

     File "/usr/local/lib/python3.2/dist-packages/djangosphinx/apis/api278/__in 
it__.py", line 78 
     SPH_ATTR_MULTI     = 0X40000000L 
                ^
    SyntaxError: invalid syntax 

     File "/usr/local/lib/python3.2/dist-packages/djangosphinx/apis/api275/__in 
it__.py", line 75 
     SPH_ATTR_MULTI     = 0X40000000L 
                ^
    SyntaxError: invalid syntax 

     File "/usr/local/lib/python3.2/dist-packages/djangosphinx/apis/api263/__in 
it__.py", line 119 
     except socket.error, msg: 
         ^
    SyntaxError: invalid syntax 

     File "/usr/local/lib/python3.2/dist-packages/djangosphinx/utils/config.py" 
, line 18 
     raise ValueError, "Only MySQL and PostgreSQL engines are supported by Sp 
hinx." 
         ^
    SyntaxError: invalid syntax 

     File "/usr/local/lib/python3.2/dist-packages/djangosphinx/models.py", line 
450 
     raise NotImplementedError, 'Related object and/or multiple field lookups 
not supported' 
           ^
    SyntaxError: invalid syntax 

     File "/usr/local/lib/python3.2/dist-packages/djangosphinx/management/comma 
nds/generate_sphinx_config.py", line 19 
     print generate_config_for_model(model, index) 
            ^
    SyntaxError: invalid syntax 

Successfully installed django-sphinx 
Cleaning up... 

May是我的问题:django -sphinx不支持python3.X? https://www.djangopackages.com/grids/g/search/

+1

添加错误可能的帮助。 – Paolo

+0

http://pastebin.com/FXuqj9G7安装日志 – ijj

回答

0

一个你语法错误的原因是,try/except语法改变在Python 2到Python 3

在Python 3,你应该使用

except ImportError as exc: 

,而不是

except ImportError, exc: 

这不是关于导入语法,只是读取我们看到的错误消息由于两个版本之间不兼容,这里还有其他问题。我猜Django的狮身人面像尚未更新与Python工作3

参考文献:http://docs.python.org/3/whatsnew/3.0.html