Django学习-第一讲(上) 虚拟环境

1.虚拟环境

1.1为什么要用虚拟环境

我们之前安装的库基本都是通过pip直接安装到全局环境中的,但是如果我们不同的项目需要用到不同的库,以及不同项目中用到同个库的不同版本,就会导致项目之间的环境不兼容,以django为例:如果你现在用Django 1.10.x写了个网站,然后你的领导跟你说,之前有一个旧项目是用Django 0.9开发的,让你来维护,但是Django 1.10不再兼容Django 0.9的一些语法了。这时候就会碰到一个问题,我如何在我的电脑中同时拥有Django 1.10和Django 0.9两套环境呢?这时候我们就可以通过虚拟环境来解决这个问题。

1.2虚拟环境的类型

1.2.1 virtualenv

  • 1.安装virtualenv

virtualenv是用来创建虚拟环境的软件工具,我们可以通过pip或者pip3来安装

pip install virtualenv
pip3 install virtualenv

  • 2.创建虚拟环境

virtualenv [虚拟环境的名字]

创建虚拟环境的时候指定Python解释器
virtualenv -p C:\Python36\python.exe [virutalenv name]

  • 3.进入虚拟环境

虚拟环境创建好了以后,那么可以进入到这个虚拟环境中,然后安装一些第三方包,进入虚拟环境在不同的操作系统中有不同的方式,一般分为两种,
第一种是Windows
第二种是*nix:

windows进入虚拟环境:进入到虚拟环境的Scripts文件夹中,然后执行activate。

*nix进入虚拟环境:
cd virtualenv/bin
source activate

一旦你进入到了这个虚拟环境中,你安装包,卸载包都是在这个虚拟环境中,不会影响到外面的环境。

  • 4.退出虚拟环境

退出虚拟环境很简单,通过一个命令就可以完成:deactivate。

1.2.2 virtualenvwrapper

virtualenvwrapper这个软件包可以让我们管理虚拟环境变得更加简单。不用再跑到某个目录下通过virtualenv来创建虚拟环境,并且激活的时候也要跑到具体的目录下去激活。

  • 1.安装virtualenvwrapper

Linux:pip install virtualenvwrapper

编辑家目录下面的.bashrc文件,添加下面两行。
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

使用source .bashrc使其生效一下。

Windows:pip install virtualenvwrapper-win

  • 2.创建虚拟环境

mkvirtualenv [virutalenv name]
mkvirtualenv -p python3 [virutalenv name] # 指定Python版本

  • 3.切换到某个虚拟环境:

workon [virutalenv name]

    1. 退出当前虚拟环境

deactivate

    1. 列出所有虚拟环境

lsvirtualenv

  • 6.删除某个虚拟环境

rmvirtualenv [virutalenv name]

  • 7.创建虚拟环境的时候指定Python版本
    mkvirtualenv --python==C:\Python36\python.exe [virutalenv name]

  • 8.修改mkvirtualenv的默认路径
    默认安装到电脑中C盘的当前登录用户的Envs目录下。

在我的电脑->右键->属性->高级系统设置->环境变量->系统变量中添加一个参数WORKON_HOME,将这个参数的值设置为你需要的路径。

1.2.3 pipenv

一、Windows安装pipenv

pip install pipenv

Mac安装

brew install pipenv

Linux安装

pip install pipenv

二、pipfile和pipfile.lock
Pipfile文件内容:


url # 指定国内pip源,不然下载库会很慢
dev-packages # 开发环境
packages # 生产环境
django = "*" # *表示最新版本
requires # Python版本

pipfile.lock,详细记录环境依赖,并且利用了Hash算法保证了它完整对应关系

如果需要指定Python版本的话,前提是电脑中已经安装了python2和Python3

pipenv --three # 泛指Python3的版本
pipenv --two # 泛指Python2的版本
pipenv --python 3.7 # 指定Python版本

三、进入/退出/删除虚拟环境

pipenv shell # 进入虚拟环境
exit # 退出虚拟环境
pipenv --rm # 删除整个环境 不会删除pipfile

四、管理开发环境

  • 1.安装在开发环境下

pipenv install --dev itchat

    1. 在虚拟环境中运行命令,使用run参数

pipenv run python manage.py runserver

    1. pipenv有个缺点,lock不稳定而且时间非常长,所以安装包的时候记得加上--skip-lock,最后开发完成要提交到仓库的时候在pipenv lock

pipenv install django --skip-lock

你可能感兴趣的:(Django学习-第一讲(上) 虚拟环境)