新型Python环境与依赖管理工具——pipenv

pipenv介绍

pipenv可以看做是pipvirtualenv的组合体,基于Pipfile和Pipfile.lock,更好地管理包之间的依赖关系。

Pipfile文件支持生成requirements文件,便于项目代码docker化管理。

Pipfile支持dev环境,可以在调试阶段安装多个调试工具,而不影响生产环境。

pipenv graph可以查看各个包的依赖关系图,卸载时会自动检查该依赖是否被其他包依赖来选择是否彻底删除。

Pipfile除了依赖清单,还可以固定pypi源地址、固定python版本,但Pipfile中的pypi源无法默认设置,每次都需要手动修改,pipenv install的包会强制使用Pipfile中的源。

pipenv shell和pipenv run会自动加载.env文件,将敏感信息保存到.env文件中,不用硬代码写入项目中。

pipenv安装和卸载包无需激活虚拟环境,直接在项目根目录下操作即可,即文件Pipfile同级目录下。

pipenv安装

pip install pipenv

默认情况下,Pipenv会自动选择虚拟环境的存放位置,Windows下通常为C:\Users\xxx\.virtualenvs\,Linux下为./local/share/virtualenvs/

如果想将虚拟环境文件夹存放在项目目录内,则设置环境变量PIPENV_VENV_IN_PROJECT=1,也可以通过设置环境变量WORKON_HOME来自定义存放位置。

pipenv使用

创建虚拟环境

# 在项目根目录下,创建虚拟环境
# 会在项目根目录下生成Pipfile和Pipfile.lock文件
pipenv install 

# 指定python版本,但需要已经安装了python3.8,否则会报错not found
pipenv --python 3.8
# 指定python路径,在Linux系统中非root用户不使用系统默认的python环境非常有用
pipenv --python "/xxx/xxx/python"

删除虚拟环境

# 删除虚拟环境
# 注意,只删除了虚拟环境存放的目录文件,Pipfile和Pipfile.lock并没有删除
pipenv --rm

安装依赖

# 在项目根目录下,即和Pipfile文件同级目录下
# 安装依赖
# pipenv install xxx时,如果当前目录下没有虚拟环境,pipenv会自动创建一个
# 新项目,可以不用手动pipenv install来创建虚拟环境
pipenv install flask

# 添加--skip-lock 可以跳过lock步骤
pipenv install numpy --skip-lock 
# 等最后再使用pipenv lock统一执行lock操作
pipenv lock

# 添加--dev(或者-d),在开发环境中安装
pipenv install --dev numpy
pipenv install -d numpy

查看包之间的依赖图

pipenv graph

卸载依赖

pipenv uninstall flask

在虚拟环境中执行命令

# 在虚拟环境中执行命令
# 查看虚拟环境中已安装的依赖列表
pipenv run pip list

shell环境下

# 启动虚拟环境,但注意在命令行不会显示出虚拟环境
# 注意区分好操作是在虚拟环境中还是在系统python环境中
pipenv shell

# 退出
exit

通过requirements.txt安装依赖

pipenv install -r requirements.txt

导出requirements.txt文件

# 生产环境的依赖导出
pipenv requirements > requirements-pro.txt

# 生产环境+开发环境的依赖导出
pipenv requirements --dev > requirements.txt

# 开发环境的依赖导出
pipenv requirements --dev-only > requirements-dev.txt

查看虚拟环境的路径

pipenv --venv
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凯旋.Lau

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值