Thursday, June 21, 2012
Why I stopped using virtualenv
I’ve decided to stop using virtualenv entirely. No more longer with local development, no longer with I deploy my stuff either. Why? Because virtualenv is evil. What is it’s purpose? To tie tour project to an environment frozen in time. When a new version of django is released, instead of updating your project to use the newest features, you end up telling yourself “Why bother with all that work, thats what virtualenv is for!” You’ve now just made locked yourself into using that outdated version of django forever. Virtualenv encourages this sort of thing to happen.
I don’t use virtualenv at all. I install everything to global site-packages. On a practically daily basis, new features and implementations are being added to the open source oeuvre. On the rare event that a new version of django (or any other 3rd party I use) breaks my application, then and only then will I reach for virtualenv. Then I file a bug report, and then I wait for the bug to be fixed so I can get rid of virtualenv again.
I don’t hate virtualenv, I’m just weary of it. I don’t want to let it become a crutch. Thats why I don’t use virtualenvwrapper. I want my virtualenv experience to be painful.
A while ago I stopped using virtualenv when I deploy, but for completely different reasons. Its does not make sense in the day and ago of cloud computing to have two projects running on the same machine. Back in the shared hosting days, virtualenv was a must, but now we just spin up a new instance.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment