一.创建虚拟环境
1.为什么要使用虚拟环境?
- 当我们在创建项目的时候,经常会使用第三方包和模块。而这些包和模块往后也会经常更新版本。例如。在我们创建第1个应用程序时,使用的框架是Django 1.0。当我们开发第2个应用程序时,Django版本已经升级到2.0。这意味着安装一个python环境可能无法满足每个应用程序的要求,这就导致需求存在冲突,只安装版本1.0或2.0将导致某一个应用程序无法运行。
- 如何解决这种问题呢?Python提供的解决方案就是创建多个虚拟环境(virtual environment)。一个虚拟环境就是一个目录树,其中安装有特定的Python版本,以及许多其他包。
- 对于不同的应用可以使用不同的虚拟环境,这样就可以解决前面需求相冲突的问题。应用程序A拥有安装了1.0版本的虚拟环境,而应用程序B则拥有安装了2.0版本的另一个虚拟环境。如果应用程序B要求将某个库升级到3.0版本,也不会影响应用程序A的虚拟环境。多个虚拟环境的使用如图所示:
2.介绍virtualenv
Virtualenv 实际上是一个python包,它可以帮助我们搭建虚拟且独立的python环境。
3.安装virtualenv
使用如下命令进行安装:
pip install virtualenv
安装完成后,使用如下命令检测virtualenv版本:
virtualenv --version
运行结果如下图,说明安装成功。
4.创建虚拟环境
接下来使用virtualenv命令创建Python虚拟环境。运行完成后,在运行的目录下,会新增一个venv文件夹,它保存着一个全新的虚拟环境。
virtualenv venv
# virtualenv+虚拟环境名 。按照惯例,一般虚拟环境会被命名为venv
5.激活和关闭虚拟环境
在使用这个虚拟环境之前,需要将其激活。不同的操作系统激活venv虚拟环境的命令不同。
windows系统激活虚拟环境命令:
venv\scripts\activate
macOS或Linux系统激活虚拟环境命令:
source venv/bin/activate
激活完成后,会在命令提示符前面新增venv标志。如下图所示:
使用完成后,使用deactivate命令关闭虚拟环境。所下图所示:
二、使用pip包管理工具
Python提供了pip工具用来下载和管理第三方包。
可以使用如下命令来检测是否可以使用pip工具:
pip --version
如下图所示:
1.安装包
pip使用如下命令安装包:
pip install 包名
指定安装版本:
pip install 包名==版本号
#说明:在虚拟环境下安装的包只能在虚拟环境下使用,在全局环境或其他虚拟环境下无法使用。
2.显示全部安装包
pip list
如图所示:
此外,还可以使用如下命令查看可以升级的包。
pip list --outdate
3.升级包
pip install --upgrage 包名
4.卸载包
pip uninstall 包名
5.以requirements参数的格式输出
如果将一个已经开发完成的项目迁移到另一个全新的Python环境中,可以使用如下方法解决环境迁移的问题。
① 首先,使用如下命令将已经安装好的包输出到requirements.txt文件中
pip freeze > requirements.txt
# 说明:在上述命令中,">requirements.txt"表示输出到requirements.txt文本文件中。输出的文件名可以自己定义。按照惯例,通常使用requirements.txt
requirements.txt文件包含了包名以及版本号,如下图所示:
② 然后,在全新的Python环境一次安装requirements.txt文件中所有的包
pip install -r requirements.txt
三、使用国内镜像源加速下载
在使用pip下载安装第三方包的时候,经常会因为下载超时而报错。这是由于下载包的服务器在国外,所以会出现访问超时的情况。可以使用国内镜像源来解决此类问题,比较常用的国内镜像源有:
# 阿里云 http://mirrors.aliyun.com/pypi/simple/ # 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ # 豆瓣(douban) http://pypi.douban.com/simple/ # 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
使用镜像源的方式有2种:临时使用和永久保存
1.临时保存
临时使用指的是每次安装包时设置一次,下次再安装新的包时,还需要再设置。例如临时使用清华大学镜像源安装beautifultable。
命令如下:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ beautifultable (其实我一般用阿里云)
# 上述命令中,"-i"参数是index的缩写,表示索引,后面紧接着是镜像源的地址
如下图所示:
2.永久保存(默认使用)
如果将镜像源设置成配置文件,当使用pip下载包时,默认执行该配置文件,到指定镜像源中取下载包。
① 在windows平台下,以配置阿里云镜像源为例,配置信息如下:
在windows文件管理器中,输入 %APPDATA%
在该目录下新建pip文件夹,然后到pip文件夹里面去新建个pip.ini文件,输入以下内容:
[global] timeout = 6000 index-url = http://mirrors.aliyun.com/pypi/simple/ trusted-host = mirrors.aliyun.com
② 在Linux平台下:
在linux环境下的修改方式和在windows环境下修改方式基本相同,这里简单总结一下:
(1):在用户的家目录下面创建名为.pip文件夹
(2):在创建好的.pip文件夹中创建名为pip.conf的文件
(3):在pip.conf文件中输入以下内容:
[global] timeout = 6000 index-url = http://pypi.douban.com/simple trusted-host = pypi.douban.com