Подтвердить что ты не робот

Рабочий процесс с использованием virtualenv и pip

У меня есть python2.6 и django1.2.3, уже установленные в моей системе (Ubuntu 10.x).
Это настройка, которую я использую для большинства моих проектов. Но для некоторых проектов мне нужны среды с песочницей, другая версия django, некоторые дополнительные модули python и иногда даже другая версия python.

Итак, я пытаюсь использовать pip и virtualenv сейчас, но я не могу изменить версию python и django. Я должен удалить настройку по умолчанию и переместить все существующие проекты в 1 virtualenv. Могу ли я избежать этого? Даже если я это сделаю, как я могу указать другую версию python?

Если мне нужно удалить старые настройки. Как мне это сделать? В настоящее время у меня есть большинство вещей, установленных в /usr/local/lib/python2.6/dist-packages/, но я не уверен, есть ли что-либо еще в другом месте.

Если у меня есть совершенно пустая настройка с помощью только Ubuntu, какой идеальный рабочий процесс? Это он?

Install python
$ sudo apt-get install python-setuptools 
$ sudo apt-get install python-virtualenv 
$ sudo easy_install pip
$ sudo pip install virtualenvwrapper 
4b9b3361

Ответ 1

Вы хотите сделать:

virtualenv --python=/path/to/python/version --no-site-packages ENV_NAME

Например:

virtualenv --python=/usr/bin/python2.6 --no-site-packages my_project_env

Если вы выполните это для своих проектов, вы сможете иметь отдельную конфигурацию для каждого из них.

Ответ 2

Я установил каждую версию Python, которая мне нужна (которая 2.4, 2.5, 2.6, 2.7, 3.1, а также 3.2) из ​​источника. Это всегда лучше всего делать, поэтому вы не испортите систему Python.

Я установил их в /opt. Так же (сначала вам понадобится пакет Ubuntu):

./configure --prefix /opt/pythonxx
make -j2; make install # j2 is a nice trick there for dualcores not everyone knows.

Затем я для каждой версии устанавливаю то, что мне нужно. Я начинаю с установки Distribute:

wget http://nightly.ziade.org/distribute_setup.py
/opt/pythonxx/bin/python distribute_setup.py

(За исключением Python 3, которому требуется distribute_setup3.py) Затем я могу установить pip

/opt/pythonxx/bin/easy_install pip

И virtualenv:

/opt/pythonxx/bin/pip install virtualenv

(Virtualenv3 или virtualenv5 для Python 3)

И это! Если я хочу сделать virtualenv с помощью Python 2.4, я:

/opt/python24/bin/virtualenv foobar

И Python 2.7:

/opt/python27/bin/virtualenv foobar

Запуск python - это просто

/opt/python24/bin/python

Etc. Я никогда ничего не устанавливаю в вышеупомянутых Pythons, кроме этих модулей, и PIL (потому что PIL - это боль, но теперь есть подушка, так что вам тоже не нужно это делать). Я использую zc.buildout и virtualenv, чтобы сохранить питоны в чистоте.