Введение
Зачем пост, опять же, чтобы не забыть. Проблема в следующем. На хостинге 1Gb.ru установлены две версии python: python 2.7 python 3.2 по умолчанию используется версия 3.2. НО Django работает максимум на версии 2.7, а django-cms с версией Django 1.3, это так к слову.
Итак, задача:
1. сделать python2.7 по умолчанию
2. настроить easy_install
Решение частично описано на 1gb
Приведу только команды от туда, кому хочется слов почитать, зайдет туда.
$export PYTHON_VERSION=`eselect python list --python2 | awk '/\*$/ {print $2}'`; echo ${PYTHON_VERSION}
$grep -q "=${PYTHON_VERSION}" ~/.bashrc || sed -i "/happen/a alias python=${PYTHON_VERSION}\nalias easy_install=easy_install-$(echo ${PYTHON_VERSION} | tr -d python)" ~/.bashrc
$source ~/.bashrc
$echo 'export PATH=${HOME}/python/bin:${HOME}/python/lib64/'${PYTHON_VERSION}'/site-packages:${PATH}' >> ~/.bashrc
$echo 'export PYTHONPATH=${HOME}/python/lib64/'${PYTHON_VERSION}'/site-packages:${PYTHONPATH}' >> ~/.bashrc
$source ~/.bashrc
$ cat > ~/.pydistutils.cfg <<END
[install]
prefix = \$HOME/python
[easy_install]
install_dir = \$HOME/python/lib64/${PYTHON_VERSION}/site-packages
END
$mkdir -p ~/src ~/python/lib64/${PYTHON_VERSION}/site-packages ~/django
$cd ~/python; ln -s lib64 lib; cd
Краткое описание, что делает:
1-я строка версия python получается
2-я делаются алиасы в .bashrc на python и easy_install (у меня алиас на второе не прописался, я этого не заметил... решил установкой своего easy_install)
4,5-я пути прописываются
7-13 файл настроек easy_install создаётся, смотрите, может ругаться на то что в нём написано $HOME вместо полного пути
14-15 создаются папки и симлинки
Ключ -l выводит пакеты установленный только внутри virtualenv, что при создании окружения с ключем --no-site-packages теряет всякий смысл.
Далее этот список нужно сохранить:
$ pip freeze -l > pip-requirements
Тепреь в файле pip-requirements лежит список всех необходимых для запуска пакетов. Этот нужно положить в вашу source control и при необходимости обновлять.
Чтобы установить все необходимые пакеты, необходимо выполнить команду:
$ pip install -r pip-requirements
The --download-cache option should do what you want: pip install --download-cache="/pth/to/downloaded/files" package
However, when I tested this, the main package downloaded, saved and installed ok, but the the dependancies were saved with their full url path as the name - a bit annoying, but all the tar.gz files were there.
The --download option just downloads the main package without it's dependancies and doesn't install. pip install --download="/pth/to/downloaded/files" package