2024年 导出环境依赖requirements.txt

2024年 导出环境依赖

一、前言

有时候需要导出环境依赖,遂记录一下这个短短的步骤

二、具体步骤

1、使用pip进行安装和管理环境

  1. 安装导出依赖的库pipreqs
pip install pipreqs
  1. 将环境依赖项导出到当前目录的requirements.txt文件,编码格式用utf-8
pipreqs ./ --encoding=utf8

在这里插入图片描述

  1. 结果如下
    在这里插入图片描述

2、使用pipenv安装和管理环境

在使用vercel的时候,pip不支持限定python版本,这时候就需要用到pipenv进行管理了

  1. 安装导出依赖的库pipenv
pip install pipenv
  1. 导出依赖pipenv lock
    在这里插入图片描述

  2. 依据pipfile进行安装环境
    在修改了 Pipfile 后,使用 Pipenv 更新项目的依赖。可以通过以下命令来安装 Pipfile 中指定的依赖:

pipenv install

在这里插入图片描述
安装完这个虚拟环境后运行 pipenv shell 激活环境,然后再在这个环境下运行
在这里插入图片描述

三、requirements.txt 和pipfile管理关系差异

Pipfilerequirements.txt 都是 Python 项目中用于管理依赖的文件,但它们之间存在一些关键区别,主要体现在格式、功能和使用的工具上。

1. 格式和工具

  • requirements.txt:这是一个纯文本文件,列出了项目所需的所有包及其版本号(可选指定)。它通常与 pip 工具一起使用,例如使用 pip install -r requirements.txt 命令来安装依赖。

  • Pipfile:这是一个使用 TOML(Tom’s Obvious, Minimal Language)格式的文件,它提供了一种更为结构化的方式来声明项目所需的包,包括版本、来源等信息。Pipfile 通常与 Pipenv 工具一起使用,后者旨在提供一个更加完善的包管理工作流,包括自动创建和管理虚拟环境。

2. 功能

  • requirements.txt 主要关注于列出依赖,但不直接处理虚拟环境。用户需要手动创建和管理虚拟环境。

  • PipfilePipenv 提供了更全面的依赖管理解决方案,不仅包括依赖管理还包括虚拟环境的自动创建和管理。Pipfile 分为两个主要部分:[packages] 用于生产环境的依赖,[dev-packages] 用于开发环境的依赖。此外,Pipfile.lock 文件(由 Pipenv 自动生成)确保了依赖的一致性,通过锁定依赖的具体版本来避免未来可能出现的兼容性问题。

3. 使用场景

  • requirements.txt 由于其简单性,适用于需要快速共享依赖列表的场景,或是在自动化脚本中安装依赖时。

  • PipfilePipenv 适用于需要更全面依赖管理的项目,尤其是当项目依赖特定版本的包,或者开发和生产环境依赖不同时。Pipenv 的使用提高了项目的可维护性和依赖管理的准确性。

总的来说,PipfilePipenv 提供了一种更现代化的依赖管理方式,特别是对于较大的项目或是多人协作的项目,它们可以提供更好的依赖版本控制和环境隔离。而 requirements.txt 由于其简单和广泛的支持,仍然是许多项目和情景下的首选。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/489087.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第15篇:2位数值比较器

Q:本篇我们将实现2位二进制数值比较器逻辑电路,即对2个2位二进制数大小进行比较。 A:数值比较器的基本原理:先对两个数的高位进行比较,若高位相等,再比较低位,低位的比较结果决定两个数的大小。…

自增不再简单:深入探索MySQL自增ID的持久化之道

概述 MySQL中的自增特性估计大家或多或少都是用过。一张表中只能由一个自增字段,通常我们会把它设置为主键,但是随着大家系统越来越分布式,为了一些性能和可扩展性问题,大家目前选择更多的都是分布式ID(雪花算法、UUI…

自觉性的力量:在无人监督中追求卓越

一、引言 自觉性,这个看似简单的词汇,却蕴含着巨大的力量。它如同内心的指南针,指引我们在无人监督的情况下,依然能够坚守原则,保持积极向上的态度。在快节奏的现代生活中,自觉性更是成为我们应对挑战、实现…

不可变和可变字符序列使用陷阱

String 使用的陷阱: String 一经初始化后,就不会再改变其内容了。对 String 字符串的操作实际上是对其副本(原始拷贝)的操作,原来的字符串一点都没有改变。比如: String s "a"; 创建了一个字符…

【创建QT项目】使用向导创建

打开Qt Creator 界面选择 New Project或者选择菜单栏 【文件】-【新建文件或项目】菜单项 弹出New Project对话框,选择Qt Widgets Application, 选择【Choose】按钮,弹出如下对话框 设置项目名称和路径,按照向导进行下一步&#x…

小吉、鲸立、希亦婴儿洗衣机哪个好用?最强机型pk对比!

宝宝衣服的清洗对父母来说都很重要,所以挑选一款适合宝宝的小型洗衣机显得尤为重要。也许有许多人认为,为婴儿购买独立的洗衣机是不必要的,但是你是否了解呢?新生婴儿的肌肤要比成人更脆弱,更易受到感染而受到伤害&…

Ansys Zemax | 在 MATLAB 或 Python 中使用 ZOS-API 进行光线追迹的批次处理

附件下载 联系工作人员获取附件 这篇文章会说明如何在 MATLAB 或 Python 中以 Zemax OpticStudio 应用程式介面 (ZOS-API)处理光线数据库(Ray Database, ZRD)档案,过程中我们将使用ZRDLoader.dll。本文提供了在 Matlab 中批次处理序列光线追迹(一般、归一化、偏振…

python知识点总结(九)

python知识点总结九 1、TCP中socket的实现代码实现TCP协议a、服务端b、客户端: 2、写装饰器,限制函数被执行的频率,如10秒一次3、请实现一个装饰器,通过一次调用函数重复执行5次4、写一个登录装饰器对一下函数进行装饰&#xff0c…

ChatGPT-PDF辅助读论文,实现用gpt对pdf 解析(开源)

文章目录 思路接口代码上传代码pdf转文本代码综合上述步骤完整代码效果 思路 主要为开发者提供一个思路,这里并不是完整的商业项目,只是一时兴起写的一份demo,希望对大家有帮助。 制作一个接口用于上传文件写一个程序把文件上传到上面的接口中对得到的…

深入了解 Vue 3:性能与可用性的巨大提升

摘要:本文深入探讨了 Vue 3 相对于 Vue 2 在性能和可用性方面的重大改进,特别关注了虚拟 DOM 模块的重构(静态提升)、基于 Proxy 的响应式对象、事件缓存、更好的 Tree Shaking 支持、TypeScript 和 Monorepo 代码组织&#xff0c…

合辑下载 | MatrixOne 与 MySQL 全面对比

前言 MatrixOne是一款高度兼容MySQL语法的HTAP数据库,采用云原生化和存储、计算、事务分离的架构打造了HSTAP超融合数据引擎,实现单一数据库系统同时支持OLTP、OLAP、流计算等多种业务负载。基于MatrixOne高度兼容MySQL的定位,社区的小伙伴在…

使用 NocoDB 一键将各种数据库转换为智能表格

NocoDB 是一款开源的无代码数据库平台,可以进行数据管理和应用开发。它的灵感来自 Airtable,支持与 Airtable 类似的电子表格式交互、关系型数据库 Schema 设计、API 自动生成等特性。 但与 Airtable 相比,NocoDB 完全免费且代码开源&#xf…

柯桥专业会计培训|会计实操做账手工账电脑账出纳报税手把手教

开具纸质发票时,经常有小伙伴纠结发票开票人和复核人的问题。现在全国已施行数电票,这个问题还存在吗?一起来看看~ 暂未规定!! 开票人和复核人不应为同一人! 目前,全国大部分城市已基本实现数电票的开票试点&#x…

KIOXIA铠侠CM7系列E3.S双端口NVMe2.0 PCIe5.0 SSD KCM71RJE7T68

KIOXIA 铠侠推出的CM7-R E3.S企业级NVMe读密集型企业级固态硬盘,采用PCIe 5.0和NVMe 2.0技术,性能出色,最高可达2,700K IOPS(随机读取)和310K IOPS(随机写入)1 DWPD的耐用性和高达15.36 TB的存储…

ReactNative项目构建分析与思考之RN组件化

传统RN项目对比 ReactNative项目构建分析与思考之react-native-gradle-plugin ReactNative项目构建分析与思考之native_modules.gradle ReactNative项目构建分析与思考之 cli-config 在之前的文章中,已经对RN的默认项目有了一个详细的分析,下面我们来…

vue-office/docx插件实现docx文件预览

1.下包 //预览docx文件 npm install vue-office/docx vue-demi//如果是vue2.6版本或以下还需要额外安装 vue/composition-api2.引入 <template><div>//在src填入文档地址<VueOfficeDocx srchttp://...../xx.docx style"width:80%" rendered"re…

yarn按包的时候报错 ../../../package.json: No license field

运行 yarn config list 然后运行 yarn config set strict-ssl false 之后yarn就成功了

基于ssm学校运动会信息管理系统论文

摘 要 在当今社会上&#xff0c;体育运动越来越普及&#xff0c;参与运动会的人越来越多&#xff0c;但是目前对运动会信息管理还是处于手工记录的时代&#xff0c;这远远满足不了现在用户需求&#xff0c;因此建立一个运动会信息管理系统已经变的非常重要。 本文重点阐述了学…

Midjourney 换脸大法:保姆级教学

元宇宙和人工智能的不断发展使得真实世界和虚拟世界的边界越来越模糊。本文将介绍如何借助 Midjourney 和另一个第三方插件 InsightFace&#xff0c;来实现令人惊叹的换脸效果。 InsightFace 简介 InsightFace 是由中科院研究人员开发的开源 2D 和 3D 深度人脸识别框架。它使用…

latex下载与安装

用jupyter导出pdf时&#xff0c;需要用到Tex 1.Tex下载安装 官网 直接git下载 git clone https://github.com/latex3/latex2e.git 或者 清华大学开源软件镜像 双击.bat文件 大概需要1-2小时&#xff0c;如果安装失败&#xff0c;重新进行安装 查看是否安装成功&#xff…