我正在尝试使用pip-3.2安装django-sphinx,但我有语法错误。
请告诉我如何使用Python 3.2安装django-sphinx。
我从http://sphinxsearch.com/downloads/release/下载sphinx 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.
安装sphinx后我运行pip-3.2并尝试安装django-sphinx: 安装日志:
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...
也许我的问题:django -sphinx不支持python3.X? https://www.djangopackages.com/grids/g/search/
答案 0 :(得分:0)
出现语法错误的原因之一是try
/ except
语法从Python 2更改为Python 3。
在Python 3中,你应该使用
except ImportError as exc:
而不是
except ImportError, exc:
这不仅仅是关于导入语法,阅读我们看到的错误消息,由于两个版本之间不兼容,还存在其他问题。我猜django-sphinx还没有更新到使用Python 3。