Python:requirements.txt, environment.yml简介

news2024/10/7 11:21:17

文章目录

    • 简介
    • requirements.txt
    • environment.yml
    • 小结


简介

最近安装了一些从github上clone下载的开源python软件包,经历了许许多多的酸甜苦辣。在python软件包,通常都会包含requirements.txt, environment.yml, setup.py三者之中某些或者全部,一开始完全不知道都是啥东东,通常都是遵照安装指示傻傻地一步一步走。但是久病成医,查阅了一些网上相关的资源逐渐也(自以为)明白了它们是咋回事。本文做一个简单的总结,不过这些只是小白的入门级的求生指南总结(所以不会包含高级使用相关的内容),如有错漏偏误欢迎指正-

简而言之,requirements.txt, environment.yml是同一类的东西,它们提供的是当前软件包安装运行所需要的环境或者依赖信息,即这些东西的安装是当前软件包安装和运行的前提条件。这些信息相当于是开发者给使用者提供的用于恢复自己开发时的环境的信息。 setup.py跟以上两者是完全不一样的,它就是用于安装当前软件包自身的安装脚本。这个要更加复杂一些,不在本文描述范围。

requirements.txt

requirements.txt的生成(开发者写的)用pip freeze命令,安装时使用也需要用pip命令,pip生成的requirements.txt用conda install无法识别。如下例所示:

pip freeze > requirements.txt # 生成requirements.txt
pip install -r requirements.txt # 从requirements.txt安装依赖

内容:以下为一个(我正在鼓捣的一个包的)requirements.txt示例,当然这里并没有包含requirements.txt所有可能的语法要素(一般的像我这样的菜鸟也管不了这些),知道以上两个命令在大部分情况下足以生活自理了-。如果用"=="的话是指定了一个特定版本的包,而用“>=”则表示只要不低于这个版本就可以了,简明易懂。

gym>=0.14.0
jupyter>=1.0.0
numpy>=1.16.4
pandas>=0.24.2
scipy>=1.3.0
scikit-learn>=0.21.2
matplotlib>=3.1.0
-e git+https://github.com/ntasfi/PyGame-Learning-Environment.git#egg=ple
-e git+https://github.com/lusob/gym-ple.git#egg=gym-ple
h5py>=2.9.0
pygame>=1.9.6
tqdm>=4.32.1

environment.yml

environment.yml是用conda命令将环境信息导出备份的文件。

创建命令如下:

conda env export > environment.yml 

软件安装时则执行以下命令就可以恢复其运行环境和依赖包:

conda env create -f environment.yml

注1: .yml文件移植过来的环境只是安装了你原来环境里用conda install等命令直接安装的包,你用pip之类装的东西没有移植过来,需要你重新安装。–待确认。

注2: environment.yml中包含该文件创建时所在的虚拟环境名称,不需要先执行"conda env create"创建并进入虚拟环境,直接在base环境下执行就会自动创建虚拟环境以及安装其中的依赖包(这个是与pip install -r requirements.txt不同的)。当然这就要求你的当前环境中没有同名的虚拟环境。如果暗装者不想使用environment.yml中内置的虚拟环境名(在environment.yml的第一行),可以使用-n选项来指定新的虚拟环境名,如下所示:

conda env create -f environment.yml -n new_env_name

environment.yml长得什么样子呢?如下是一个示例:
在这里插入图片描述

小结

https://blog.csdn.net/chenxy_bwave/article/details/121187923

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

11.注解开发依赖注入及管理第三方Bean

1. 注解开发依赖注入 1.1 使用Autowired注解开启自动装配模式 Service public class BookServiceImpl implements BookService {//Autowired:注入引用类型,自动装配模式,默认按类型装配Autowiredprivate BookDao bookDao;public void save(…

【OpenCV+Qt】实现简易视频播放器——支持进度条拖动

OpenCV实现视频播放器,其思路大致就是在线程中使用OpenCV中的VideoCapture循环读取本地视频的每一帧Mat,然后发送到界面转换成QImage进行显示,而进度条拖动则用到了VideoCapture中的set函数,进度条则是使用Qslider;并且…

记录安装 fenics 的问题

因为 fenics 官方更新后可能版本会出现有时效的问题, 所以也记录一下时间. Windows 系统下安装最大的问题 2022-12-19 记录. Windows 系统下本来是想通过 Anaconda 安装 fenics 的, 创建好虚拟环境后, 利用 conda install -c conda-forge fenics 进行安装, 但是直接提示 Pack…

操作系统,计算机网络,数据库刷题笔记14

操作系统,计算机网络,数据库刷题笔记14 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql&#xf…

【OpenSourceC#】ET框架

1. 前言 ET算是我刚接触客户端时最早知道的框架,ET我最初眼馋的还是他的双端功能。包揽前后端的功能,这个很有吸引力。但是那时候对我来说这框架太复杂了,没法看。 这两天又来看看,曾经很多不懂的地方现在都能看懂了&#xff0c…

数据库拆分5--使用sharding-jdbc来实现水平拆分

有三张表 user log order表,先将user log 和order垂直分库,然后将user表水平拆分 配置文件 spring.shardingsphere.enabledtruespring.shardingsphere.datasource.nameswim-user,wim-orderspring.shardingsphere.datasource.wim-user.typecom.alibaba.…

【JavaEE】多线程之Thread类

一、Thread类常见方法与字段 1、构造方法 构造方法说明Thread()不带参数的构造方法Thread(String name)可以在构造时传入线程的名字Thread(Runnable run)传入Runnable,是创建线程的方法之一Thread(Runnable run,String name)传入线程工作并给线程起名 2、常见属性…

JaveWeb框架(一):Web入门,Http的请求和响应,https介绍,Web实战自定义服务器

Servlet入门 MVC实战项目 仓储管理系统JavaWeb入门介绍Http协议Http请求数据格式Http响应数据格式Web实战Demo:自定义服务器对比Https协议总结Redis章节复习已经过去,新的章节JavaWeb开始了,这个章节中将会回顾JavaWeb实战项目 仓储管理 代码…

机器人开发--电机中的电流环、速度环、位置环

机器人开发--电机中的电流环、速度环、位置环电流环、速度环、位置环1 三环原理1.1 电流环1.2 速度环1.3 位置环2 各环与PID控制2.1 电流环重点在 PID(比例、积分和微分)2.2 速度环重点在 PI(比例和积分)2.3 位置环重点在 P&#…

基于JAVA的企业部门报销管理信息系统的设计与实现

开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字): 系统部分主要分为以下几个模块:公告类型,公告信息,部门信息,员工信 息&a…

手写Spring9(实现FactoryBean、对象作用域)

文章目录前言目标设计项目结构一、实现1、Bean的作用范围定义和xml解析2、创建和修改对象时候判断单例和原型模式3、定义 FactoryBean 接口4、实现一个 FactoryBean 注册服务5、扩展 AbstractBeanFactory 创建对象逻辑二、测试1、事先准备2、定义 FactoryBean 对象3、配置文件4…

Win32多线程调用gdal库接口

作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> 效果图和程序说明 效果图如下:   这个程序是基于MFC的GUI程序,用于给指定的文件夹批量创建金字塔。   效果图如下:   这个程序是基于Win32 API的GUI程序,用于给指定的文件创…

期末前端web大作业——动漫客栈响应式bootstarp(7页) 排版整洁,内容丰富,主题鲜明

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 ⚽精彩专栏推荐&#x1…

R语言用线性回归模型预测空气质量臭氧数据

尽管线性模型是最简单的机器学习技术之一,但它们仍然是进行预测的强大工具。 最近我们被客户要求撰写关于线性回归模型的研究报告,包括一些图形和统计输出。 这尤其是由于线性模型特别容易解释这一事实。在这里,我将讨论使用空气质量数据集…

Python学习基础笔记五十四——多继承

多继承中,我们子类对象调用的一个方法,默认是就近原则,找的顺序是什么? 在经典类中,是深度优先; 在新式类中,是广度优先; Python2.7是经典类和新式类共存,新式类要继承…

领域模型设计模式

前言: 领域是一个组织所做的事情以及其包含的一切,通俗地说,就是组织的业务范围和做事情的方式,也是软件开发的目标范围。比如说淘宝的电商业务,C2C就是电子商务的领域,领域驱动设计就是从领域出发&#x…

安装VS code

五 安装VS Code Visual Studio Code,简称VS Code,是一种简化且高效的代码编辑器,同时支持诸如调试,任务执行和版本管理之类的开发操作。它的目标是提供一种快速的编码编译调试工具。优势: 支持多种语言的编写&#xf…

【大数据处理技术】「#1」本地数据集上传到数据仓库Hive

文章目录实验数据集下载下载实验数据集建立一个用于运行本案例的目录dbtaobao数据集的预处理删除文件第一行记录,即字段名称获取数据集中双11的前100000条数据导入数据仓库实验数据集下载 下载实验数据集 data_format.zip数据集用户行为日志user_log.csv&#xff…

jsp+ssm计算机毕业设计房屋租赁系统【附源码】

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: JSPSSM mybatis Maven等等组成,B/S模式 Mave…

node 使用 pm2 日志管理及使用 pm2-logrotate 进行日志分割

目录 1. 需求背景 2. 什么是 pm2-logrotate ? 3. 查看 pm2 自带的日志管理 4. 安装 pm2-logrotate 5. 查看配置指令 6. pm2-logrotate 具体配置说明 7. 如何设置这些值? 8. 停止 pm2-logrotate 服务 9. 补充:pm2 常用命令 1. 需求…