Difference between revisions of "Python/Virtualenv"

From ArchWiki
Jump to: navigation, search
m (Fixing very minor typos)
(13 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[[Category:Development (English)]]
+
[[Category:Development]]
 +
{{Out of date}}
  
==Introduction==
 
 
''virtualenv'' is a Python tool written by Ian Bicking and used to create isolated environments for Python in which you can install packages without interfering with the other virtualenvs nor with the system Python's packages.
 
''virtualenv'' is a Python tool written by Ian Bicking and used to create isolated environments for Python in which you can install packages without interfering with the other virtualenvs nor with the system Python's packages.
 
The present article covers the installation of the ''virtualenv'' package and its companion command line utility ''virtualenvwrapper'' designed by Doug Hellmann to (greatly) improve your work flow. A quick how-to to help you to begin working inside virtual environment is then provided.
 
The present article covers the installation of the ''virtualenv'' package and its companion command line utility ''virtualenvwrapper'' designed by Doug Hellmann to (greatly) improve your work flow. A quick how-to to help you to begin working inside virtual environment is then provided.
Line 9: Line 9:
  
 
''vitualenvwrapper'' takes ''virtualenv'' a step further by providing convenient commands you can invoke from your favorite console.
 
''vitualenvwrapper'' takes ''virtualenv'' a step further by providing convenient commands you can invoke from your favorite console.
 
  
 
== Virtualenv ==
 
== Virtualenv ==
Line 17: Line 16:
 
===Installation===
 
===Installation===
 
Simply install python-virtualenv from the community repository and you're done:
 
Simply install python-virtualenv from the community repository and you're done:
  # pacman -S python-virtualenv
+
  # pacman -S python2-virtualenv
  
 
===Basic Usage===
 
===Basic Usage===
Line 24: Line 23:
 
The typical use case is:
 
The typical use case is:
 
* Create a folder for the new virtualenv:
 
* Create a folder for the new virtualenv:
  $ mkdir ~/.virtualenvs/my_env
+
  $ mkdir -p ~/.virtualenvs/my_env
* Create the virtualenv, here without package inheritance from the system's installation:  
+
* Create the virtualenv:  
  $ virtualenv --no-site-packages ~/.virtualenvs/my_env
+
  $ virtualenv2 ~/.virtualenvs/my_env
 
* Activate the virtualenv:  
 
* Activate the virtualenv:  
 
  $ source ~/.virtualenvs/my_env/bin/activate
 
  $ source ~/.virtualenvs/my_env/bin/activate
Line 40: Line 39:
  
 
===Installation===
 
===Installation===
Install python-virtualenvwrapper from community. If you have not installed python-virtualenv yet, it will be installed now as a dependency.
+
[[pacman|Install]] the {{Pkg|python-virtualenvwrapper}} package from the [[Official Repositories|official repositories]]. If you have not installed {{Pkg|python-virtualenv}} yet, {{Pkg|python-virtualenvwrapper}} will be installed now as a dependency.
# pacman -S python-virtualenvwrapper
+
  
Now add the following lines to your .bashrc:
+
Now add the following lines to your {{ic|~/.bashrc}}:
 
  export WORKON_HOME=~/.virtualenvs
 
  export WORKON_HOME=~/.virtualenvs
 
  source /usr/bin/virtualenvwrapper.sh
 
  source /usr/bin/virtualenvwrapper.sh
  
Re-open your console and create the WORKON_HOME folder:
+
Re-open your console and create the {{ic|WORKON_HOME}} folder:
 
  $ mkdir $WORKON_HOME
 
  $ mkdir $WORKON_HOME
  
Line 54: Line 52:
  
 
* Create the virtualenv:
 
* Create the virtualenv:
  $ mkvirtualenv --no-site-packages my_env
+
  $ mkvirtualenv -p python2.7 my_env
 
* Activate the virtualenv:
 
* Activate the virtualenv:
 
  $ workon my_env
 
  $ workon my_env
Line 64: Line 62:
  
 
== See Also ==
 
== See Also ==
<ul>
+
*[http://pypi.python.org/pypi/virtualenv virtualenv Pypi page]
<li>[http://pypi.python.org/pypi/virtualenv virtualenv Pypi page]</li>
+
*[http://wiki.pylonshq.com/display/pylonscookbook/Using+a+Virtualenv+Sandbox Tutorial for virtualenv]
<li>[http://wiki.pylonshq.com/display/pylonscookbook/Using+a+Virtualenv+Sandbox Tutorial for virtualenv]</li>
+
*[http://www.doughellmann.com/docs/virtualenvwrapper/ virtualenvwrapper page at Doug Hellmann's]
<li>[http://www.doughellmann.com/docs/virtualenvwrapper/ virtualenvwrapper page at Doug Hellmann's]</li>
+
</ul>
+

Revision as of 14:45, 13 June 2012

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:Python/Virtualenv#)

virtualenv is a Python tool written by Ian Bicking and used to create isolated environments for Python in which you can install packages without interfering with the other virtualenvs nor with the system Python's packages. The present article covers the installation of the virtualenv package and its companion command line utility virtualenvwrapper designed by Doug Hellmann to (greatly) improve your work flow. A quick how-to to help you to begin working inside virtual environment is then provided.

Virtual Environments at a glance

virtualenv is a tool designated to address the problem of dealing with packages' dependencies while maintaining different versions that suit projects' needs. For example, if you work on two Django web sites, say one that needs Django 1.2 while the other needs the good old 0.96. You have no way to keep both versions if you install them into /usr/lib/python2/site-packages . Thanks to virtualenv it's possible, by creating two isolated environments, to have the two development environment to play along nicely.

vitualenvwrapper takes virtualenv a step further by providing convenient commands you can invoke from your favorite console.

Virtualenv

Currently virtualenv only supports Python up to version 2.7. If you really need virtual environment on Python 3, check out the virtualenv3 project on Bitbucket.

Installation

Simply install python-virtualenv from the community repository and you're done:

# pacman -S python2-virtualenv

Basic Usage

An extended tutorial on how use virtualenv for sandboxing can be found here.

The typical use case is:

  • Create a folder for the new virtualenv:
$ mkdir -p ~/.virtualenvs/my_env
  • Create the virtualenv:
$ virtualenv2 ~/.virtualenvs/my_env
  • Activate the virtualenv:
$ source ~/.virtualenvs/my_env/bin/activate
  • Install some package inside the virtualenv (say, Django):
(my_env)$ pip install django
  • Do your things
  • Leave the virtualenv:
(my_env)$ deactivate

Virtualenvwrapper

virtualenvwrapper allows more natural command line interaction with your virtualenvs by exposing several useful commands to create, activate and remove virtualenvs. Like virtualenv, this package does not currently support Python 3.x.

Installation

Install the python-virtualenvwrapper package from the official repositories. If you have not installed python-virtualenv yet, python-virtualenvwrapper will be installed now as a dependency.

Now add the following lines to your ~/.bashrc:

export WORKON_HOME=~/.virtualenvs
source /usr/bin/virtualenvwrapper.sh

Re-open your console and create the WORKON_HOME folder:

$ mkdir $WORKON_HOME

Basic Usage

The main information source on virtualenvwrapper usage (and extension capability) is Doug Hellmann's page.

  • Create the virtualenv:
$ mkvirtualenv -p python2.7 my_env
  • Activate the virtualenv:
$ workon my_env
  • Install some package inside the virtualenv (say, Django):
$ (my_env)$ pip install django
  • Do your things
  • Leave the virtualenv:
(my_env)$ deactivate

See Also