문제

This is not a duplicate of this question.

I am already aware of virtualenv and virtualenvwrapper and pip but they don't quite seem to have exactly what I want.

I'm looking for a way that I can not only have multiple versions of Python installed but also multiple versions of Django (for example) and mix and match the "active" version of python and the "active" version of Django.

e.g. I've got Django 1.0, 1.1, and 1.2, and trunk is "active". I want to be able to test it on Python 2.5, 2.6 and 2.7. Then make Django 1.2 "active" and test it on all of my Python versions again.

I can see how I could potentially get by using virtualenv for that example, but say I've got 5 releases of a Django application that I want to test on every combination of Python 2.5, 2.6 and 2.7 and Django versions 1.0, 1.1, and 1.2. At this point, afaik, the number of virtual environments that I'm going to need to create is becoming unmanageable.

I'd like to just be able to say, make Python version X "active", make Django version X "active", and make MyApp version X "active" without having to deal with creating and switching virtualenvs (and I definitely don't want to be doing a bunch of bootstrap scripting).

Does the thing that I'm looking for exist for Python, or is there something that I'm missing about virtualenv, virtualenvwrapper, and pip that can already handle this elegantly?

도움이 되었습니까?

해결책

I believe pythonbrew is what you're looking for.

Edit: pyenv looks like the preferred solution since 2013.

다른 팁

I believe you can use buildout to do this, though I'm not particularly familiar with it... E.g. http://blog.mfabrik.com/2010/07/16/easily-install-all-python-versions-under-linux-and-osx-using-collective-buildout-python/

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top