Установка определенных пакетов с помощью virtualenv
-
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-Джанго-проекты-и-приложения-в-яйца
Может быть, мой ответ ....