Django(2)python虚拟环境virtualenvwrapper

python虚拟环境

虚拟环境(virtual environment),它是一个虚拟化,从电脑独立开辟出来的环境。通俗的来讲,虚拟环境就是借助虚拟机来把一部分内容独立出来,我们把这部分独立出来的东西称作“容器”,在这个容器中,我们可以只安装我们需要的依赖包,各个容器之间互相隔离,互不影响。
 

为什么要使用虚拟环境

  1. 项目部署时,直接导出项目对应的环境中的库就可以了;
  2. 同时开发多个项目,各自项目使用的python版本不同,例如一个是python2,另一个是python3,那么需要来回的切换python版本;
  3. 当你同时开发多个项目时,特别是多个项目使用同一个库,例如:django,但是各自项目使用的django的版本不一致时,那么你在开发这些项目时,需要来回的卸载和安装不同的版本,因为同一个python环境中,同名的库只能有一个版本。
     

安装虚拟环境virtualenvwrapper

1.linux/mac:pip3 install virtualenvwrapper
2.windows:pip install virtualenvwrapper-win
 

virtualenvwrapper默认路径

windows

windows的虚拟环境默认在c盘,我们可以更改:在我的电脑->右键->属性->高级系统设置->环境变量->系统变量中添加一个参数WORKON_HOME,将这个参数的值设置为你需要的路径。
 

linux/mac

如果你使用的是mac/linux系统,默认是在/Users/你的用户名/.virtualenvs,如果你想修改默认路径的话,按照以下步骤
 

1.查看python3的文件和virtualenvwrapper.sh的路径

[root@jkc ~]# find / -name virtualenvwrapper.sh
/usr/local/python3/bin/virtualenvwrapper.sh
[root@jkc ~]# which python3
/usr/bin/python3

2.修改linux的当前用户的配置文件~/.bashrc

> vim ~/.bashrc
# 末尾添加以下代码
WORKON_HOME=~/Envs
VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' 
VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/python3/bin/virtualenv
VIRTUALENVWRAPPER_PYTHON=/usr/local/python3Dir/bin/python3
source /usr/local/python3Dir/bin/virtualenvwrapper.sh

3.配置解释

#设置virtualenv的统一管理目录,以后自动下载的虚拟环境都放在这
WORKON_HOME=~/Envs   

#添加virtualenvwrapper的参数,生成干净隔绝的环境
# 如果你的virtualenvwrapper版本是2.0(具体版本记不清楚了)以上这条必须删除
VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' 

#指定python解释器的本体
VIRTUALENVWRAPPER_PYTHON=/usr/local/python3Dir/bin/python3

#执行virtualenvwrapper安装脚本
source /usr/local/python3Dir/bin/virtualenvwrapper.sh

#指定virtualenv的路径
VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/python3/bin/virtualenv

4.退出当前会话,重新登录

如果出现以下代码,则为成功

virtualenvwrapper.usr_scripts creating /root/Envs/preproject
virtualenvwrapper.usr_scripts creating /root/Envs/postmproject...

虚拟环境命令大全

  • 创建虚拟环境mkvirtualenv my_env
  • 切换到某个虚拟环境workon my_env
  • 退出当前虚拟环境deactivate
  • 删除某个虚拟环境rmvirtualenv my_env
  • 列出所有虚拟环境lsvirtualenv
  • 进入到虚拟环境所在的目录cdvirtualenv
原文地址:https://www.cnblogs.com/jiakecong/p/14756219.html