Python虚拟环境和包管理工具Pipenv的使用详解-- 新人必备知识

前言
Python虚拟环境是一个虚拟化,从电脑独立开辟出来的环境。在这个虚拟环境中,我们可以pip安装各个项目不同的依赖包,从全局中隔离出来,利于管理。 传统的Python虚拟环境有virtualenv,使用pip freeze → requirements.txt 导出依赖。现在又有了一个新神器 – Pipenv, 它是由大名鼎鼎的requests 作者 Kenneth Reitz 写的一个命令行工具,这个工具包装了virtualenv,使用Pipfile和Pipfile.lock管理,更加方便。
安装Pipenv
首先检查Python和Pip命令能否在命令行中正确执行
$ python -V
$ pip -V

Python虚拟环境和包管理工具Pipenv的使用详解-- 新人必备知识
安装Pipenv:
$ pip install pipenv
验证是否成功安装:
$ pipenv
出现以下则安装成功
Python虚拟环境和包管理工具Pipenv的使用详解-- 新人必备知识
创建虚拟环境
首先进入项目工程根目录 创建虚拟环境:

$ pipenv install

如果目录中没有Pipfile和Pipfile.lock,会自动生成。如果存在,则会自动安装Pipfile中的所有依赖
Python虚拟环境和包管理工具Pipenv的使用详解-- 新人必备知识
创建成功后,可以在根目录中看到两个文件:

Python虚拟环境和包管理工具Pipenv的使用详解-- 新人必备知识
Pipfile中保存着各个依赖包的版本信息,Pipfile.lock保存着依赖包的锁信息 由于pip源的速度过慢,我们可以修改Pipfile的源信息

安装第三方依赖包
到此为止,就可以安装依赖包了 这里以安装requests库举
Python虚拟环境和包管理工具Pipenv的使用详解-- 新人必备知识
这里执行了两步操作:1.安装到虚拟环境中,更新Pipfile里面的依赖版本。2.使用sha256算法更新pipfile.lock文件。 注意:默认情况下会加锁,速度很慢,可以使用如下命令不加锁加快速度

$ pipenv install xxx --skip-lock
卸载第三方依赖包
Python虚拟环境和包管理工具Pipenv的使用详解-- 新人必备知识
$ pipenv uninstall requests
查看安装的所有第三方依赖
进入命令行交互模式:
$ pipenv shell
使用pip list查看
$ pip list
Python虚拟环境和包管理工具Pipenv的使用详解-- 新人必备知识
因为之前卸载了requests,所以依赖不见了。

退出命令行交互模式:

$ exit

注意:千万不要使用deactivate命令,否则会出错!

常用选项
显示虚拟环境实际文件路径

pipenv --venv

显示虚拟环境python解释器所在路径

pipenv --py

显示项目文件所在路径

pipenv --where

删除虚拟环境

pipenv --rm

安装第三方依赖但不加锁(加快速度)

pipenv install xxx --skip-lock

常用命令参数:
锁定并生成pipfile.lock文件

pipenv lock

查看依赖关系

pipenv graph

在虚拟环境中运行python程序

pipenv run xxx.py

检查安全漏洞

pipenv check