文章目录
学Python一定要会使用虚拟环境!!! 因为不同Python项目使用同一个Python环境可能会导致依赖模块和库冲突。先来了解一下什么是虚拟环境。
为什么要使用虚拟环境?
虚拟环境其实是一个虚拟化,可以把它看做是一个容器,在这个容器(环境)中安装Python项目所依赖的相关模块和第三方库。
简单理解,虚拟环境就是一个独立的Python程序的运行环境,包含Python解释器(python.exe)、Python库的位置(Lib文件夹)和可执行程序的位置(Scripts文件夹)。
在使用Python语言进行项目开发时,常常会根据需求下载相应的第三方模块和库。但是不同的项目,所使用的模块和库都不尽相同,或者使用某个库的版本也不同。如果将同一个Python环境应用于不同的项目,就会不断的卸载和安装对应的第三方模块和库,非常不方便。
使用虚拟环境就可以避免上面提到的 “不同项目使用同一个Python环境会导致依赖模块和库冲突” 问题,每个Python项目都对应有自己的虚拟环境,每个项目的虚拟环境对应管理自己项目所依赖的模块和库,互相隔离,互相独立,互不干扰,非常方便。
virtualenv就是能够创建Python虚拟环境的第三方库,在实际开发中使用广泛,并且很方便。
virtualenv
virtualenv的安装
virtualenv,作为Python的第三方库,最常用的办法就是使用pip
进行安装。
pip install virtualenv
virtualenv的常用命令
-
创建Python虚拟环境
# 进入存放虚拟环境的目录 virtualenv env_name # env_name: 虚拟环境名称,会在当前目录下生成一个对应的文件夹 # 如果系统里安装了不同版本的Python,可以创建指定Python解释器的虚拟环境 virtualenv -p /usr/bin/python2.7 env_name
-
激活虚拟环境
activate
-
退出虚拟环境
deactivate
virtualenvwrapper
virtualenvwrapper是虚拟环境的统一管理工具,是virtualenv的扩展工具,能够方便地创建、删除、复制、切换不同的虚拟环境。
virtualenvwrapper会将所有的虚拟环境都放在一个路径下,不用像使用virtualenv那样,需要先进入存放目录再创建虚拟环境,创建好虚拟环境后再通过activate
激活虚拟环境。使用一个命令就可以在不同的虚拟环境之间进行切换。
virtualenvwrapper的安装
同样地,也是使用pip进行安装,但是不同的系统要安装包名称不同,这里介绍了Linux下和Windows下。
- Linux下
# linux下
pip install virtualenvwrapper
- Windows下
# windows下
pip install virtualenvwrapper-win
virtualenvwrapper的配置
- Linux下
# 1. 安装完成后,在`~/.bashrc`写如以下内容
# ~Envs为存放虚拟环境的目录
export WORKON_HOME=~Envs
#指定python解释器(根据自己的安装位置更改)
export VIRTUALENVWRAPPER_PYTHON=/opt/python36/bin/python3
# Python安装目录下/bin/virtualenvwrapper.sh (根据自己的安装位置更改)
source /opt/python36/bin/virtualenvwrapper.sh
# 2. 内容写好后,读入配置文件,立即生效
source ~/.bashrc
-
Windows下
-
先在自己的电脑上创建一个文件夹,用来存放以后创建的虚拟环境。
-
然后在系统环境变量中,添加一个变量名为
WORKON_HOME
的变量,对应的值为存放虚拟环境的路径,即上面创建文件夹的路径。
-
virtualenvwrapper常用命令
-
创建虚拟环境
# 创建虚拟环境 mkvirtualenv env_name # 如果系统里安装了不同版本的Python,可以创建指定Python解释器的虚拟环境 mkvirtualenv -p /usr/bin/python2.7 env_name
-
查看当前的虚拟环境
# 查看所有的虚拟环境 workon
-
切换虚拟环境
# 切换虚拟环境 workon env_name
-
退出虚拟环境
deactivate
-
删除虚拟环境
# 删除虚拟环境 rmvirtualenv env_name
-
进入当前虚拟环境的目录
cdvirtualenv
-
进入当前虚拟环境的site-packages目录
cdsitepackages
-
列举所有的虚拟环境
lsvirtualenv