当做一个项目时,可能会用到一些模块,如果都用电脑自带的python环境,并且把所有的模块都安装在这上面,很容易使得自带python环境十分臃肿,而且到时候如果迁移到别的电脑时还需要重新安装对应模块,所以可以用虚拟环境,在不同的环境下安装对应的模块,迁移时也把整个环境迁移过去即可
虚拟环境的创建,Python2和Python3不太一样,因为Python3已经内置了一个虚拟环境的库,可以直接创建虚拟环境,而Python2需要使用第三方库。
下面就两个版本,分别说一下如何创建虚拟环境:
Python2
Python2创建虚拟环境需要依赖virtualenv
库。
# 下载virtualenv库
$ pip install virtualenv
# 使用virtualenv创建虚拟环境,venv为创建的虚拟环境文件夹名称,可自定义。
$ virtualenv venv
Python3
Python3已经内置虚拟环境库venv,不需要下载别的第三方库就可以直接创建虚拟环境:
# 创建虚拟环境,第二个venv是虚拟环境文件夹名称,可自定义
$ python3 -m venv venv
virtualenv:
1) 安装 virtualenv
pip3 install virtualenv
2)创建虚拟环境目录
mkdir python_envs
cd python_envs
3)创建独立运行环境
virtualenv --no-site-packages --python=/usr/local/python3/bin/python3 env
#创建一个干净的环境,并且指定python解释器版本为python3,python解释器位置要换成你所在机器的python计时器的位置,新创建的虚拟环境名称(位置)为env,env在当前文件夹下
#虚拟环境的结构为环境名称/bin/activate
4)进入虚拟环境
source venv/bin/activate #此时进入虚拟环境(venv)Myproject,或者说在当前目录下加载env这个虚拟环境
virtualenv是如何创建“独立”的Python运行环境的呢?原理很简单,就是把系统Python复制一份到virtualenv的环境,
用命令source venv/bin/activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。
使用虚拟环境
1. 创建虚拟环境
virtualenv 环境名称
可以指定python版本
virtualenv -p python路径 环境名称
2. 进入环境下的Scripts文件夹下
activate
3. 退出虚拟环境
deactivate
面临的问题:
virtualenv
的一个最大的缺点就是:
每次开启虚拟环境之前要去虚拟环境所在目录下的 bin
目录下 source
一下 activate
,这就需要我们记住每个虚拟环境所在的目录。
并且还有可能你忘记了虚拟环境放在哪。。。
- 一种可行的解决方案是,将所有的虚拟环境目录全都集中起来,例如/opt/all_venv/,并且针对不同的目录做不同的事。
- 使用virtualenvwrapper管理你的虚拟环境(virtualenv),其实他就是统一管理虚拟环境的目录,并且省去了source的步骤。
virtualenvwrapper(强烈推荐):
1)安装
pip3 install virtualenvwrapper
2)添加用户配置
vim ~/.bashrc 添加代码: export WORKON_HOME=~/Envs # 设置virtualenv的统一管理目录, 以后自动下载的虚拟环境,全部都放在这 export VIRTUALENVWRAPPER_PYTHON=/usr/local/python3/bin/python3 # 指定python解释器的本体(注意此路径随不同的linux环境改变而改变) source /usr/local/python3/bin/virtualenvwrapper.sh# 执行virtualenvwrapper安装脚本(这个脚本软件也是根据你记得virtualenvwrapper的安装路径来)
3)配置生效
#读取文件,使得生效,此时已经可以使用virtalenvwrapper
source ~/.bashrc
#退出会话,重新登录生效,且每次登录的时候,就自动加载virtualenvwrapper工具
管理虚拟环境
推荐使用virtualenvwrapper
1. 创建虚拟环境
1. 创建虚拟环境 mkvirtualenv 环境 2. 进入虚拟环境(切换环境) workon 环境名 3. 退出虚拟环境 deactivate 4. 删除虚拟环境 rmvirtualenv 5. 列出虚拟环境 lsvirtualenv 6. 进入到虚拟环境目录 cdvirtualenv
其他命令:
1. 列举所有的虚拟环境。 lsvirtualenv 2. 导航到当前激活的虚拟环境的目录中,比如说这样您就能够浏览它的 site-packages 。 cdvirtualenv 3. 和上面的类似,但是是直接进入到 site-packages 目录中。 cdsitepackages 4. 显示 site-packages 目录中的内容。 lssitepackages
Windows下虚拟环境
一.virtualenv
1.安装virtualenv
pip install virtualenv
2.新建虚拟环境
virtualenv env1
二. virtualenvwrapper
1. 安装
pip install virtualenvwrapper-win
2. 设置workon_home环境变量
3. 新建虚拟环境
mkvirtualenv env2
4. 查看虚拟环境
workon
5. 进入虚拟环境
workon python3
6. 退出虚拟环境
deactivate