Установка определенных пакетов с помощью virtualenv

StackOverflow https://stackoverflow.com/questions/434407

  •  10-07-2019
  •  | 
  •  

Вопрос

Итак, я хочу начать использовать virtualenv в этом году. Мне нравится опция no-site-packages, это приятно. Однако мне было интересно, как установить определенные пакеты в каждом virtualenv. Например, допустим, я хочу установить django в каждое приложение virtualenv ... возможно ли это, и если да, то как? Решает ли buildout это?

<Ч>

Ну, это не столько django, сколько приложения django ... Я не против установить версию django в каждое virtualenv ... Мне просто интересно, есть ли какой-нибудь промежуточный параметр для no-site-packages '

Это было полезно?

Решение

Я бы предложил использовать virtualenv в качестве поддержка начальной загрузки . Это позволяет выполнять произвольный Python после создания virtualenv, например устанавливать новые пакеты.

Другие советы

Я знаю, откуда вы, с опцией no-sites-option. Я хочу использовать pip freeze для создания списков требований и не хочу много лишних усилий в пакетах сайтов. Мне также нужно использовать несколько версий django, так как у меня есть устаревшие проекты, которые я не обновил (некоторые старые проверки svn (до 1.0), некоторые 1.0 и некоторые новые проверки svn). Установка Django в глобальных пакетах сайта на самом деле не вариант.

Вместо этого у меня есть папка django с выпусками и парой разных версий svn и просто символическая ссылка на соответствующую версию в локальных пакетах сайта. Для простоты использования я делаю ссылки на локальные пакеты сайтов на том же уровне, что и окружение, а затем делаю ссылки в соответствующем каталоге django и любой другой " системе " Пакеты стилей, которые мне нужны (обычно просто PIL). Итак:

$ virtualenv pyenv
$ ln -s ./pyenv/lib/python2.5/site-packages ./installed
$ ln -s /usr/lib/python2.5/site-packages/PIL ./installed
$ ln -s /opt/django/django1.0svn/trunk/django ./installed

Теперь работает следующее:

$ source pyenv/bin/activate
$ python
> import django
> import PIL

Если вы хотите, чтобы django был установлен на КАЖДОМ virtualenv, вы также можете установить его в каталог site-packages? Просто мысль.

Другой вариант (который я использовал) - это просто установить Django после того, как вы создали виртуальную среду. Это легко в сценарии. Штраф, который вы платите, ожидает установки Django в каждой из ваших виртуальных сред.

Я с Тоби, хотя: если нет веской причины, по которой почему вам нужна отдельная копия Django в каждой виртуальной среде, вам следует просто установить ее в своей основной области Python, и позволяя каждой виртуальной среде использовать его оттуда.

Я хочу проверить этот проект:

http: // www .stereoplex.com / две голоса / СЭЗ-djangoskel-Джанго-проекты-и-приложения-в-яйца

Может быть, мой ответ ....

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top