Есть ли в Python что-то более надежное, чем в Ruby? - PullRequest
19 голосов
/ 13 августа 2010

Это не дубликат этого вопроса .

Я уже знаю о virtualenv и virtualenvwrapper и pip , но они, похоже, не совсем соответствуют тому, что я хочу.

Я ищу способ, которым я мог бы не только установить несколько версий Python, но и несколько версий Django (например) и смешивать и сопоставлять «активную» версию python и «активную»версия Django.

например, у меня есть Django 1.0, 1.1 и 1.2, а транк "активен".Я хочу иметь возможность протестировать его на Python 2.5, 2.6 и 2.7.Затем сделайте Django 1.2 «активным» и снова протестируйте его на всех моих версиях Python.

Я могу видеть, как я мог бы добиться, используя virtualenv для этого примера, но, скажем, у меня 5 выпусков Djangoприложение, которое я хочу протестировать на каждой комбинации Python 2.5, 2.6 и 2.7 и Django версий 1.0, 1.1 и 1.2.На данный момент, на самом деле, количество виртуальных сред, которые мне нужно создать, становится неуправляемым.

Я хотел бы просто сказать, сделать версию Python X «активной», сделать Django версию X «активной» и сделать MyApp версию X «активной», не занимаясь созданием и переключением virtualenvs.(и я определенно не хочу делать кучу сценариев начальной загрузки).

Существует ли то, что я ищу, для Python или есть что-то, чего мне не хватает в virtualenv, virtualenvwrapper, а пип, который уже может справиться с этим элегантно?

Ответы [ 2 ]

7 голосов
/ 11 апреля 2012

Я считаю, pythonbrew - это то, что вы ищете.

Edit : pyenv выглядит как предпочтительное решение с 2013 года.1009 *

3 голосов
/ 14 августа 2010

Я полагаю, что вы можете использовать buildout , чтобы сделать это, хотя я не особенно знаком с этим ... Например. http://blog.mfabrik.com/2010/07/16/easily-install-all-python-versions-under-linux-and-osx-using-collective-buildout-python/

...