当前位置: 首页 > news >正文

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

文章目录

    • pipenv介绍
    • pipenv安装
    • pipenv使用
      • 创建虚拟环境
      • 删除虚拟环境
      • 安装依赖
      • 查看包之间的依赖图
      • 卸载依赖
      • 在虚拟环境中执行命令
      • shell环境下
      • 通过requirements.txt安装依赖
      • 导出requirements.txt文件
      • 查看虚拟环境的路径

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
http://www.lryc.cn/news/249816.html

相关文章:

  • FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「内网穿透」
  • kendo-splitter动态分配分隔框大小
  • 网站提示不安全?
  • C# 泛型编译特性对性能的影响
  • 11-30 JavaWeb
  • LCR 047. 二叉树剪枝 和 leetCode 1110. 删点成林 + 递归 + 图解
  • Flutter笔记:路由观察者
  • 【驱动】串口驱动分析(三)-serial driver
  • (C++20) constinit常量初始化
  • python实现获取aws route53域名信息
  • Linux_Linux终端常用快捷键
  • Neo4j 数据库管理 数据备份与恢复(头歌)
  • TCP传输的三次握手四次挥手策略
  • 在gitlab上使用server_hooks
  • 【云原生系列】Kubernetes知识点
  • Hugging-Face报错锦囊(不断更新)
  • Redis核心数据结构
  • Redis 如何批量删除指定前缀的Key
  • 如何熟练使用vim工具?
  • ClassNotFoundException: org.apache.hive.spark.client.Job
  • 《合成孔径雷达成像算法与实现》_使用CS算法对RADARSAT-1数据进行成像
  • GCN01——Ubuntu中设置vivado编辑器为vscode
  • Android 11.0 软硬键盘同时使用的兼容(软键盘与内置物理键盘共存)
  • ARM安全架构——为复杂软件提供保护
  • 提升网页交互体验的秘密武器——防抖和节流
  • HX3002入耳检测光感驱动调试-感0x08 寄存器溢出,不变化错误问题解决方法
  • 目标检测开源数据
  • AI模特换装的前端实现
  • git-5
  • qt 5.15.2压缩和解压缩功能