How do I update a virtualenv?

Ned Batchelder ned at nedbatchelder.com
Mon Oct 28 19:16:26 EDT 2013


On 10/28/13 7:04 PM, Skip Montanaro wrote:
> I have a virtualenv I'm using for some Django development.  Today I
> switched from MacPorts to HomeBrew on my Mac. I'm thus getting a
> different version of gcc and its libs. How do I reinstall the
> virtualenv? I've looked around and found a few descriptions of what to
> do, but as I am little more than a monkey-see-monkey-do user of
> virtualenv, I don't understand what appears to be a fairly complex set
> of steps. Does virtualenv not have some sort of "upgrade" command that
> just does what's necessary?
>
> Thanks,
>
> Skip

Virtualenvs aren't built to be moved from one Python installation to 
another.  If you used pip to install your packages (you should), then 
you can activate the virtualenv, and run: $ pip freeze > requirements.txt

Then you can create a new virtualenv using the new Python executable, 
activate it, and:  $ pip install -r requirements.txt

This will reinstall all the packages you had installed previously. Even 
better is to maintain your own requirements.txt that has just the 
packages you need.  The "pip freeze" technique will also list packages 
installed as dependencies.

--Ned.



More information about the Python-list mailing list