Virtual Environments — The Hitchhiker's Guide to Python
Written by Laurent Marechal - 21 april 2020
Classified in : Dev, Links, Python - Tags : none
Site d'origine : https://python-guide-cn.readthedocs.io/en/latest/dev/virtualenvs.html
A Virtual Environment, put simply, is an isolated working copy of Python which allows you to work on a specific project without worry of affecting other projects.
For example, you can work on a project which requires Django 1.3 while also maintaining a project which requires Django 1.0.
virtualenv
virtualenv is a tool to create isolated Python environments.
Install it via pip:
Basic Usage
- Create a virtual environment:
This creates a copy of Python in whichever directory you ran the command in, placing it in a folder named venv
.
- To begin using the virtual environment, it needs to be activated:
$ source venv/bin/activate
You can then begin installing any new modules without affecting the system default Python or other virtual environments.
- If you are done working in the virtual environment for the moment, you can deactivate it:
This puts you back to the system’s default Python interpreter with all its installed libraries.
To delete a virtual environment, just delete its folder.
After a while, though, you might end up with a lot of virtual environments littered across your system, and its possible you’ll forget their names or where they were placed.
virtualenvwrapper
virtualenvwrapper provides a set of commands which makes working with virtual environments much more pleasant. It also places all your virtual environments in one place.
To install (make sure virtualenv is already installed):
$ pip install virtualenvwrapper
$ export WORKON_HOME=~/Envs
$ source /usr/local/bin/virtualenvwrapper.sh
(Full virtualenvwrapper install instructions.)
For Windows, you can use the virtualenvwrapper-powershell clone.
To install (make sure virtualenv is already installed):
PS> pip install virtualenvwrapper-powershell
PS> $env:WORKON_HOME="~/Envs"
PS> mkdir $env:WORKON_HOME
PS> import-module virtualenvwrapper
Basic Usage
- Create a virtual environment:
This creates the venv
folder inside ~/Envs
.
- Work on a virtual environment:
virtualenvwrapper provides tab-completion on environment names. It really helps when you have a lot of environments and have trouble remembering their names. workon
also deactivates whatever environment you are currently in, so you can quickly switch between environments.
- Deactivating is still the same:
- To delete:
Other useful commands
lsvirtualenv
- List all of the environments.
cdvirtualenv
- Navigate into the directory of the currently activated virtual environment, so you can browse its
site-packages
, for example. cdsitepackages
- Like the above, but directly into
site-packages
directory. lssitepackages
- Shows contents of
site-packages
directory.
autoenv
When you cd
into a directory containing a .env
, autoenv automagically activates the environment.
Install it on Mac OS X using brew
:
And on Linux:
$ git clone git://github.com/kennethreitz/autoenv.git ~/.autoenv
$ echo 'source ~/.autoenv/activate.sh' >> ~/.bashrc
Comments are closed.