Python虚拟环境和包管理工具Pipenv的使用详解--看完这一篇就够了

时间:2023-12-15 11:06:32

前言

Python虚拟环境是一个虚拟化,从电脑独立开辟出来的环境。在这个虚拟环境中,我们可以pip安装各个项目不同的依赖包,从全局中隔离出来,利于管理。

传统的Python虚拟环境有virtualenv,使用pip freeze -> requirements.txt 导出依赖。现在又有了一个新神器 -- Pipenv, 它是由大名鼎鼎的requests 作者 Kenneth Reitz 写的一个命令行工具,这个工具包装了virtualenv,使用Pipfile和Pipfile.lock管理,更加方便。

Pipenv的github地址

安装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的源信息

Python虚拟环境和包管理工具Pipenv的使用详解--看完这一篇就够了

常用的pip源地址如下:

  1. 清华:https://pypi.tuna.tsinghua.edu.cn/simple
  2. 阿里云:http://mirrors.aliyun.com/pypi/simple/
  3. 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
  4. 豆瓣:http://pypi.douban.com/simple/

安装第三方依赖包

到此为止,就可以安装依赖包了

这里以安装requests库举例

# Pipfile文件目录下
$ pipenv install requests

Python虚拟环境和包管理工具Pipenv的使用详解--看完这一篇就够了

这里执行了两步操作:1.安装到虚拟环境中,更新Pipfile里面的依赖版本。2.使用sha256算法更新pipfile.lock文件。

注意:默认情况下会加锁,速度很慢,可以使用如下命令不加锁加快速度

$ pipenv install xxx --skip-lock

卸载第三方依赖包

$ pipenv uninstall requests

Python虚拟环境和包管理工具Pipenv的使用详解--看完这一篇就够了

查看安装的所有第三方依赖

进入命令行交互模式:

$ 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