2014-01-10 82 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