Установка модулей Python в домашний каталог (Python)
Материал из DiPHOST.Ru wiki system
Содержание |
Настройка консоли для работы с локальными модулями
Для того, чтобы интерпретатор Python (в данном случае мы описываем интерпретатор версии 2.5), вызванный из консоли, "видел" установленные локально библиотеки, добавьте в файл .profile следующие строки:
PYTHONPATH=$HOME/lib/python2.5/site-packages export PYTHONPATH
Это следует сделать ДО установки модулей, во избежании накладок при установке. Не забудьте "перелогиниться" после добавления, чтобы настройки применились.
Если Вы не собираетесь работать с интерпретатором из консоли в дальнейшем, или Вы используете разные версии Python одновременно, то можно ограничиться выполнением вышеприведённых команд из консоли при необходимости.
Ручная установка из архива
Обычно ключи и предпочтительный способ установки описаны в файлах README и INSTALL внутри дистрибутива модуля. Обычно, это команда:
python setup.py install --prefix=$HOME
Проблемы могут возникнуть, если разработчики модуля проигнорировали ключ --prefix.
Установка с помощью easy_install
easy_install сам умеет искать пакеты в хранилище http://pypi.python.org/pypi, скачивать и устанавливать их. Или же устанавливать уже скачанные. Не существует для Python версий 3.x. Для установки требует существование каталога вида:
prefix/lib/pythonX.Y/site-packages
где X.Y - версия Python. Например, для установки модулей для Python 2.5 используя easy_install требуется создать соответствующую иерархию директорий:
mkdir $HOME/lib $HOME/lib/python2.5 $HOME/lib/python2.5/site-packages
При отсутствии такого каталога easy_install выдаст ошибку.
Теперь можно устанавливать пакет:
easy_install --prefix $HOME имя_пакета
Настройка веб-сервера для работы с локальными модулями
Для того чтобы приложение видело установленные библиотеки достаточно прописать в файл webapp.wsgi следующие строки:
import sys sys.path.insert(0,"/home/ваш_логин/lib/python2.5/site-packages")
Включение пути в начало списка даёт гарантию того, что установленные вручную модули будут находиться раньше стандартно установленных.
Использование в cron
Для того, чтобы скрипты, запускающиеся по cron могли иметь доступ к локально установленным библиотекам, в начале crontab-файла следует прописать нужные строки:
PYTHONPATH=/home/ваш_логин/lib/python2.5/site-packages
Обращаем внимание, что переменные типа $PATH не разбираются в crontab и требуется полностью прописывать все пути.