Из документации sphinx
Установка пакетов Sphinx на Debian и Ubuntu
Существует два способа получения Sphinx для Ubuntu: обычные пакеты deb и репозиторий PPP Launchpad. [!d3 ]
Пакеты Deb:
Для Sphinx требуется несколько библиотек, которые будут установлены на Debian / Ubuntu. Используйте apt-get для загрузки и установки этих зависимостей:
$ sudo apt-get install mysql-client unixodbc libpq5
Теперь вы можете установить Sphinx:
$ sudo dpkg -i sphinxsearch_2.2.1-beta-0ubuntu11~precise_amd64.deb
репозиторий PPA (только для Ubuntu).
[d8 ] Установка Sphinx намного проще из репозитория Sphinxsearch PPA, потому что вы получите все зависимости и можете также обновить Sphinx до последней версии с помощью той же самой команды.Сначала добавьте репозиторий Sphinxsearch и обновите список пакетов:
$ sudo add-apt-repository ppa:builds/sphinxsearch-daily
$ sudo apt-get update
Установить / обновить пакет sphinxsearch:
$ sudo apt-get install sphinxsearch
Демон поиска Sphinx можно запустить / остановить с помощью служебной команды:
$ sudo service sphinxsearch start
2.4. Установка пакетов Sphinx на RedHat и CentOS
В настоящее время мы распространяем Sphinx RPMS и SRPMS на нашем веб-сайте для версий 5x и 6.x Red Hat Enterprise Linux, но их также можно установить и в CentOS.
Перед установкой убедитесь, что у вас установлены эти пакеты:
$ yum install postgresql-libs unixODBC
Загрузите RedHat RPM с сайта Sphinx и установите его:
$ rpm -Uhv sphinx-2.2.1-1.rhel6.x86_64.rpm
После подготовки конфигурации файл (см. Quick tour), вы можете запустить демон поиска:
$ service searchd start
Ответ короткий и amp; simple:
python не расширяет ~, если вы не используете:
import os
os.path.expanduser('~/your_directory')
См. также здесь:
os.path.expanduser (path) On Unix и Windows возвращают аргумент с исходным компонентом ~ или ~ пользователя, замененным домашним каталогом этого пользователя. В Unix начальная ~ заменяется переменной среды HOME, если она установлена; в противном случае домашний каталог текущего пользователя просматривается в каталоге паролей через встроенный модуль pwd. Исходный ~ пользователь просматривается непосредственно в каталоге паролей.Расширение Тильды выполняется только в нескольких контекстах, которые немного отличаются между оболочками.
Пока он выполняется в:
var=~
Или
export var=~
в некоторых оболочках. Это не в
echo var=~
env var=~ cmd
./configure --prefix=~
в оболочках POSIX.
Оно находится в bash, хотя не в режиме соответствия POSIX (например, при вызове как sh или когда POSIXLY_CORRECT находится в среде):
$ bash -c 'echo a=~'
a=/home/stephane
$ POSIXLY_CORRECT= bash -c 'echo a=~'
a=~
$ SHELLOPTS=posix bash -c 'echo a=~'
a=~
$ (exec -a sh bash -c 'echo a=~')
a=~
Однако только тогда, когда слева от = сформировано имя переменной без кавычек, поэтому, пока оно будет расширено в cmd prefix=~ это не будет в cmd --prefix=~ (поскольку --prefix не является допустимым именем переменной), ни в cmd "p"refix=~ (из-за этого цитируется p), ни в var=prefix; cmd $var=~.
В zsh, вы можете установить опцию magic_equal_subst для ~ для расширения после любого неуказанного =.
$ zsh -c 'echo a=~'
a=~
$ zsh -o magic_equal_subst -c 'echo a=~'
a=/home/stephane
$ zsh -o magic_equal_subst -c 'echo --a=~'
--a=/home/stephane
В случае ~ (в отличие от ~user), вы можете просто использовать $HOME:
cmd --whatever="$HOME/whatever"
~ расширяется до значения $HOME. Если $HOME не задано, поведение изменяется между оболочками. Некоторые оболочки запрашивают пользовательскую базу данных. Если вы хотите принять это во внимание, вы могли бы сделать (и это также то, что вам нужно было бы сделать для ~user):
dir=~ # or dir=~user
cmd --whatever="$dir/whatever"
В любом случае, в оболочках, отличных от zsh, помните вам нужно указать переменные разложения!
~ имеет особые правила расширения, которые ваша команда не удовлетворяет. В частности, он расширяется только при некорректном, либо в начале слова (например, python ~/script.py), либо в начале присвоения переменной (например, PYTHONPATH=~/scripts python script.py).
Непосредственное исправление заключается в использовании переменной оболочки $HOME, которая следует за регулярными правилами расширения переменных:
python ptb_word_lm.py --data_path=$HOME/blabla