Python Virtual Environment Virtualenv tutorial
This article mainly introduces the simple tutorial of Virtualenv in Python virtual environment. This article integrates two tutorials on using Virtualenv. I believe you can learn how to use Virtualenv through this article, for more information, see
Virtualenv is used to create an independent Python environment. Multiple Python environments are independent of each other and do not affect each other. It can:
1. Install the new suite without permission
2. Different Application versions can be used.
3. Kit upgrade does not affect other applications
Install
The Code is as follows:
Sudo apt-get install python-virtualenv
Usage
[Code]
Virtualenv [Virtual Environment name]
For example, create a ** ENV ** virtual environment.
The Code is as follows:
Virtualenv ENV
By default, the virtual environment depends on the site packages in the system environment, that is, the third-party packages installed in the system will also be installed in the virtual environment. If you do not want to rely on these packages, you can add the -- no-site-packages parameter to create a virtual environment.
The Code is as follows:
Virtualenv -- no-site-packages [Virtual Environment name]
Start the Virtual Environment
The Code is as follows:
Cd ENV
Source./bin/activate
Note that at this time, the command line will have one more (ENV), which is the virtual environment name. Then all modules will only be installed in this directory.
Exit the Virtual Environment
The Code is as follows:
Deactivate
Install Python kit in a Virtual Environment
Virtualenv comes with the pip Installation tool, so you can directly run the installation kit:
The Code is as follows:
Pip install [suite name]
If the virtual environment is not started and the pip tool is installed in the system, the kit will be installed in the system environment. To avoid this problem, you can ~ /. Add the following to the bashrc file:
The Code is as follows:
Export PIP_REQUIRE_VIRTUALENV = true
Or enable the system to automatically enable the virtual environment when executing pip:
The Code is as follows:
Export PIP_RESPECT_VIRTUALENV = true
Virtualenvwrapper
Virtaulenvwrapper is the extension package of virtualenv, which is used to facilitate the management of virtual environments. It can do the following:
1. Integrate all virtual environments into one directory
2. Manage (add, delete, and copy) Virtual Environment
3. Switch the Virtual Environment
4 ....
Install
The Code is as follows:
Sudo easy_install virtualenvwrapper
Virtualenvwrapper cannot be used yet. By default, virtualenvwrapper is installed under/usr/local/bin. In fact, you need to run virtualenvwrapper. sh file. Don't worry. Open this file and check it. There are installation steps in it. We can set the environment according to the operation.
Create a directory to store the Virtual Environment
The Code is as follows:
Mkdir $ HOME/. virtualenvs
In ~ /. Add row in bashrc: export WORKON_HOME = $ HOME/. virtualenvs
In ~ /. Add source/usr/local/bin/virtualenvwrapper. sh to bashrc.
Run: source ~ /. Bashrc
Now virtualenvwrapper can be used.
List Virtual Environments
The Code is as follows:
Workon
You can also use
The Code is as follows:
Lsvirtualenv
Create a virtual environment
Copy the Code as follows:
Mkvirtualenv [Virtual Environment name]
Start/switch Virtual Environment
The Code is as follows:
Workon [Virtual Environment name]
Delete Virtual Environment
The Code is as follows:
Rmvirtualenv [Virtual Environment name]
Leave the Virtual Environment
The Code is as follows:
Deactivate
Certificate ------------------------------------------------------------------------------------------------------------------------------------------------------------
Virtualenv solves dependencies, versions, and indirect permissions by creating an independent Python development environment tool.
Problems. For example, if a project depends on Django1.3 and the current global development environment is Django1.7, the version span is too large, resulting in incompatibility that prevents the project from running. Using virtualenv can solve these problems.
Virtualenv creates an environment with its own installation directory. This environment does not share libraries with other virtual environments, allowing you to conveniently manage python versions and manage python libraries.
1. Install Virtualenv
If you use pip to install Virtualenv, you should know the pip package management artifacts if you have used python. Even if you do not know it, there are many tutorials on the website. However, we recommend that you check the official installation guide.
The Code is as follows:
$ Pip install virtualenv
// Or use sudo to temporarily escalate permissions due to permission issues
$ Sudo pip install virtualenv
2. virtualenv basic usage
Now use virtualenv to manage the python Environment
The Code is as follows:
Unzip Test git :( master) unzip virtualenv ENV # create a directory named ENV, install ENV/bin/python, create lib, include, bin directory, and install pip
New python executable in
Installing setuptools, pip... done.
Slave Test git :( master) slave cd ENV
Slave ENV git :( master) slave ll
Drwxr-xr-x 14 andrew_liu staff 476 12 8 bin
Drwxr-xr-x 3 andrew_liu staff 102 12 8 include
Drwxr-xr-x 3 andrew_liu staff 102 12 8 lib
Lib. All installed python libraries will be placed under lib/pythonx. x/site-packages/in this directory.
Bin, bin/python is the python interpreter used in the current environment
If you run virtualenv -- system-site-packages ENV in the command line, all libraries under/usr/lib/python2.7/site-packages will be inherited, the latest version of virtualenv uses Global site-packages as the default behavior.
Default behavior.
2.1. Activate virtualenv
The Code is as follows:
# Use the following command in the ENV directory
Unzip ENV git :( master) activate source./bin/activate # activate the current virtualenv
(ENV) slave ENV git :( master) slave # note that the terminal has changed
The Code is as follows:
# Use pip to view the current library
(ENV) Configure ENV git :( master) Configure pip list
Pip (1.5.6)
Setuptools (3.6)
Wsgiref (0.1.2) # Only the three
Pip freeze # Show All Dependencies
Pip freeze> requirement.txt generate the requirement.txt File
Pip install-r requirement.txt zookeeper requirement.txt generate the same environment
2.2. Disable virtualenv
Use the following command
The Code is as follows:
$ Deactivate
2.3. Specify the python version
You can use the-p PYTHON_EXE option to specify the python version when creating a virtual environment.
The Code is as follows:
# Create a python2.7 Virtual Environment
Unzip Test git :( master) unzip virtualenv-p/usr/bin/python2.7 ENV2.7
Running virtualenv with interpreter/usr/bin/python2.7
New python executable in ENV2.7/bin/python
Installing setuptools, pip... done.
The Code is as follows:
# Create a python3.4 Virtual Environment
Unzip Test git :( master) unzip virtualenv-p/usr/local/bin/python3.4 ENV3.4
Running virtualenv with interpreter/usr/local/bin/python3.4
Using base prefix'/Library/Frameworks/Python. framework/Versions/3.4'
New python executable in ENV3.4/bin/python3.4
Also creating executable in ENV3.4/bin/python
Installing setuptools, pip... done.
Now, we can solve the python version conflict problem and the problem of different versions of the python library.
3. Miscellaneous
3.1. Generate a packable Environment
In some special situations, there may be no network. We hope to directly package an ENV, which can be decompressed and used directly. In this case, we can use the virtualenv-relocatable command to change the ENV to an ENV with a changed location.
The Code is as follows:
# Change the virtual environment that has been created to be migrated
Unzip ENV3.4 git :( master) unzip virtualenv -- relocatable ./
Making script./bin/easy_install relative
Making script./bin/easy_install-3.4 relative
Making script./bin/pip relative
Making script./bin/pip3 relative
Making script./bin/pip3.4 relative
3.2. Get help
The Code is as follows:
$ Virtualenv-h
The current ENV is changed to a relative path. You can package the current directory and upload it to another location.
This does not enable cross-platform use of the virtual environment.
4. Reference Links
Virtualenv official documentation http://virtualenv.readthedocs.org/en/latest/virtualenv.html