3 ms·
So do you use virtualenv in production? Is there a good tutorial on this for my developers?
by tocomment 14y ago
So do you use virtualenv in production? Is there a good tutorial on this for my developers?
- pyre 14y agoI don't think there is any 'best practice' as of yet. It ranges from just running virtualenv, and then using pip + requirements.txt on deploy, to packaging up your virtualenv in a .rpm/.deb and installing via your distro's package manager.
- irahul 14y ago> So do you use virtualenv in production? Is there a good tutorial on this for my developers? Using virtualenv in production mostly boils down to `pip -r reqs.txt -E virtual_env`(in place of pip install -r reqs.txt) and making sure virtualenv path is the first in sys.path http://code.google.com/p/modwsgi/wiki/VirtualEnvironments http://code.google.com/p/modwsgi/wiki/VirtualEnvironments You can also execfile the activation script, but I prefer changing sys.path.
- tocomment 14y agoWhat's the benefit of using virtualenv in production? And actually what's the benefit in general?
- adolph 14y agoThe basic problem being addressed is one of dependencies and versions, and indirectly permissions. Imagine you have an application that needs version 1 of LibFoo, but another application requires version 2. How can you use both these applications? If you install everything into /usr/lib/python2.7/site-packages (or whatever your platform’s standard location is), it’s easy to end up in a situation where you unintentionally upgrade an application that shouldn’t be upgraded. From: http://www.virtualenv.org/en/latest/index.html http://www.virtualenv.org/en/latest/index.html
- AUmrysh 14y agoAdditionally, you may run into a problem where your distribution only offers certain versions of python and its packages, when you need newer versions. On systems like CentOS, this becomes a bit more complex as you can wind up in 'dependency hell' trying to compile everything you may need for a complex python program. virtualenv and pip make this very easy to manage and set up.