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

新型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.kler.cn/a/152159.html

相关文章:

  • 文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《基于分布鲁棒优化的广义共享储能容量配置方法》
  • 【Python】基础练习题_组合数据类型_2
  • debianubuntu的nvidia驱动升级
  • SQL server 基线安全加固操作
  • LeetCode(37)矩阵置零【矩阵】【中等】
  • AS 之 gradle 命令
  • excel合并单元格教程
  • HX3002入耳检测光感驱动调试-感0x08 寄存器溢出,不变化错误问题解决方法
  • python爬虫基础知识
  • 【开源存储】OpenZFS文件系统部署实践
  • currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’
  • 【ArcGIS Pro二次开发】(78):批量合并GDB数据库
  • Neo4j 数据库管理 数据备份与恢复(头歌)
  • C#文件流二进制文件的读写
  • Vue3.x 中 hooks 函数封装和使用
  • josef JZ-7Y-33静态中间继电器 电压DC220V 板前接线
  • Ubuntu22.04 使用Docker部署Neo4j出错 Exited(70)
  • React Native环境搭建及Hello World
  • Vue3 究竟好在哪里?
  • 【WebSocket】通信协议基于 node 的简单实践和心跳机制和断线重连的实现