Conda 使用environment.yml创建一个新的Python项目

Conda系列:

  1. 翻译: Anaconda 与 miniconda的区别
  2. Miniconda介绍以及安装
  3. Conda python运行的包和环境管理 入门
  4. Conda python管理环境environments 一 从入门到精通
  5. Conda python管理环境environments 二 从入门到精通
  6. Conda python管理环境environments 三 从入门到精通
  7. Conda python管理环境environments 四 从入门到精通
  8. Conda python管理packages一 从入门到精通
  9. Conda python管理packages二 从入门到精通
    10.Conda python管理packages三 从入门到精通
    在这里插入图片描述

1. 创建项目

在本教程中,我们将介绍如何使用一个 environment.yml 文件在 conda 中设置一个新的 Python 项目。这个文件将帮助您跟踪您的依赖关系并与他人共享您的项目。我们将介绍如何创建您的项目,添加一个简单的 Python 程序并更新它以使用新的依赖项。

2. 创建项目文件

首先,我们需要一个包含项目文件的目录。这可以 使用以下命令创建:

mkdir my-project

在这个目录中,我们现在将创建一个新的environment.yml文件,其中将保存我们Python项目的依赖关系。在您的文本编辑器中(例如VSCode,PyCharm,vim等),创建此文件并添加以下内容:

name: my-project
channels:
  - defaults
dependencies:
  - python

让我们简要回顾一下此文件的每个部分的含义。

  • Name名字: 环境的名称。在这里,我们选择了名称“my-project”。
  • Channels渠道: 通道指定conda搜索软件包的位置。我们选择了defaults默认通道,但也可以列出其他通道,例如conda-forgebioconda
  • Dependencies依赖: 所有你项目需要的依赖。目前为止,我们只添加了Python,因为我们知道它将是一个Python项目。稍后我们会添加更多。

3. Creating our environment创造我们的环境

现在我们已经编写了一个基本的 environment.yml 文件,我们可以从中创建并激活一个环境。要做到这一点,请运行以下命令:

conda env create --file environment.yml
conda activate my-project

4. 创建我们的 Python 应用程序

使用我们新安装了Python的环境,我们可以创建一个简单的Python程序。在你的项目文件夹中,创建一个main.py文件并添加以下内容:

def main():
    print("Hello, conda!")


if __name__ == "__main__":
    main()

我们可以通过运行以下命令来运行简单的 Python 程序:

python main.py
Hello, conda!

5. Updating our project with new dependencies使用新的依赖项更新我们的项目

如果你希望你的项目不仅仅像上面的简单示例那样,你可以使用conda渠道上的数千个可用包之一。为了演示这一点,我们将添加一个新的依赖项,以便我们可以从互联网上拉取一些数据并进行基本的分析。

为了进行数据分析,我们将依赖于Pandas包。为了将其添加到我们的项目中,我们需要更新我们的environment.yml文件:

name: my-project
channels:
  - defaults
dependencies:
  - python
  - pandas  # <-- This is our new dependency

一旦我们完成了这个步骤,我们就可以运行conda env update命令来安装新的包:

conda env update --file environment.yml

现在我们的依赖项已安装,我们将下载一些数据用于我们的分析。为此,我们将使用美国环境保护署在data.gov上提供的步行指数数据集。您可以使用以下命令下载这个数据:

curl -O https://edg.epa.gov/EPADataCommons/public/OA/EPA_SmartLocationDatabase_V3_Jan_2021_Final.csv

根据我们的分析,我们对知道多少美国居民生活在高度适合步行的地区很感兴趣。这是一个我们可以轻松使用pandas库来回答的问题。以下是您可能如何去做的一个示例:

import pandas as pd


def main():
    """
    Answers the question:

    What percentage of U.S. residents live highly walkable neighborhoods?

    "15.26" is the threshold on the index for a highly walkable area.
    """
    csv_file = "./EPA_SmartLocationDatabase_V3_Jan_2021_Final.csv"
    highly_walkable = 15.26

    df = pd.read_csv(csv_file)

    total_population = df["TotPop"].sum()
    highly_walkable_pop = df[df["NatWalkInd"] >= highly_walkable]["TotPop"].sum()

    percentage = (highly_walkable_pop / total_population) * 100.0

    print(
        f"{percentage:.2f}% of U.S. residents live in highly" "walkable neighborhoods."
    )


if __name__ == "__main__":
    main()

请将您的main.py文件更新为上面的代码并运行它。您应该会得到以下答案:

python main.py
10.69% of Americans live in highly walkable neighborhoods

6. Conclusion结论

您刚刚通过使用conda中的environment.yml文件来创建自己的数据分析项目。随着项目的发展,您可能希望添加更多的依赖项,以及更好地将Python代码组织成单独的文件和模块。

参考

https://conda.io/projects/conda/en/latest/user-guide/tasks/creating-projects.html

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

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

相关文章

luceda ipkiss教程 58:输出器件的版图和三维模型

在ipkiss中&#xff0c;通过visualize_3d_povray可以输出包含器件的三维模型参数的.pov文件&#xff0c;再通过POV-Ray&#xff08;免费软件&#xff0c;下载地址&#xff1a;https://www.povray.org/download/&#xff09;就可以查看器件的三维模型。 如&#xff1a; 代码如…

账号定位基础

1.账号定位流程 定位体系 &#xff08;1&#xff09;商业定位 ①商业定位-带货 ②商业定位-引流 ③商业定位-接广告 ④商业定位-直播打赏 &#xff08;2&#xff09;内容定位 内容定位分为&#xff1a;主题IP、人物IP &#xff08;2-1&#xff09;主题IP ①有用处 ②有兴…

144基于matlab的平面桁架结构的总体刚度矩阵计算

基于matlab的平面桁架结构的总体刚度矩阵计算&#xff0c;最后以图形形式显示出桁架结构&#xff0c;程序已调通&#xff0c;可直接运行。 144matlab 平面桁架 有限元分析 总体刚度 (xiaohongshu.com)

0125-2-Vue深入学习1—mustache模板引擎原理

[mustache] 是 “胡子”的意思&#xff0c;因为它的嵌入标记 {{ }} 旋转过来很像[胡子]&#xff0c;Vue中的 {{ }} 语法也引用了mustache&#xff0c;这也是我深入学习的目的。 1、原始js方式使 数据 变为视图 <ul id"list"></ul><script>var arr …

Git常用命令介绍

Git 是一个开源的分布式版本控制系统&#xff0c;用于敏捷高效地处理任何或小或大的项目 一、Git的安装 安装包下载地址&#xff1a;https://gitforwindows.org/ 国内的镜像地址&#xff1a;https://npm.taobao.org/mirrors/git-for-windows/ 完成安装之后&#xff0c;在开…

面试常问的Spring AOP底层原理

AOP底层原理可以划分成四个阶段&#xff1a;创建代理对象阶段、拦截目标对象阶段、调用代理对象阶段、调用目标对象阶段 第一阶段&#xff1a;创建代理对象阶段 通过getBean&#xff08;&#xff09;方法创建Bean实例根据AOP的配置匹配目标类的类名&#xff0c;判断是否满足切…

wfuzz网站模糊测试

https://github.com/xmendez/wfuzz Wfuzz: The Web fuzzer — Wfuzz 2.1.4 documentatio n 一、wfuzz介绍 WFuzz是基于Python开发的 Web安全模糊测试工具。可以将其理解为Fuzz一款暴力破解工具。根据用户提供的字典&#xff0c;获取web站点的敏感目录和信息。 Wfuzz 提供了一个…

小程序样例3:根据日历创建待办事项

基本功能 1、待办事项查看 选择不同的日期显示不同的待办: 2、选择日期后 新增事项&#xff1a; 3. 点击事项&#xff0c;查看详情 4、删除事项&#xff1a;删除事项3之后&#xff0c;剩余事项2 5、点击日期可以选择更多的月&#xff1a; 实现思路&#xff1a; 1、数据结构&a…

开始学习Vue2(axios和Vuex)

一、Axios 1、Axios 简介 Axios 是一个基于 promise 网络请求库 &#xff0c;作用于node.j s 和浏 览器中。它是 isomorphic 的(即同一套代码可以运行在浏览器 和 node.js 中)。在服务端它使用原生 node.js http 模块, 而在 客户端 (浏览端) 则使用 XMLHttpRequests。 …

通俗易懂理解SegNet语义分割模型

重要说明&#xff1a;本文从网上资料整理而来&#xff0c;仅记录博主学习相关知识点的过程&#xff0c;侵删。 一、参考资料 深度学习之图像分割—— SegNet基本思想和网络结构以及论文补充 一文带你读懂 SegNet&#xff08;语义分割&#xff09; 二、相关介绍 1. 上采样(…

关于爬虫爬取网页时遇到的乱码问题的解决方案。

目录 前言解决措施 前言 最近&#xff0c;我像爬取一下三国演义这本书籍的全部内容。 网站的网址为&#xff1a;https://www.shicimingju.com/book/sanguoyanyi.html 但是我爬取出来的结果是这样的 会遇到乱码。 经过我多方面的调试发现&#xff0c;就是网页的编码和我pycha…

mysql8版本批量造4000个数据SQL

需求&#xff1a; 测试工作中修改单需要构造单元下4000个组合的数据&#xff0c;写个博客来记录&#xff0c;其他类似的可以举一反三。 具体sql&#xff1a; 实现1个产品1个单元下插入4000个组合数据 思路&#xff1a; 在MySQL 8中实现循环插入4000条具有不同主键的记录&a…

jquery多选框

使用hbuilder <!DOCTYPE html> <html><head><meta charset"GBK"><title></title></head><body><table id"myTable"> <tr> <td>黄1</td> </tr> <tr> <td>…

echarts 玫瑰饼图 俩个共用一个图例 可同时改变

export const getRosePie (option {}) > {return {legend: {textStyle: {color: #B0D0E9}},tooltip: {},dataset: {// source: [// [flag, 已解决, 未解决],// [设备告警, 86, 10],// [环境告警, 41, 30],// [任务告警, 24, 67]// ]source: option.source},series…

【Web前端实操15】利用Grid布局完成九宫格

相关知识点&#xff1a; 创建多列 column-count 属性指定了需要分割的列数 列与列之间的间隙 column-gap 属性指定了列与列间的间隙 列边框 column-rule-style 属性指定了列与列间的边框样式 column-rule-width 属性指定了两列的边框厚度 column-rule-color 属性指定了…

如何在 Kotlin Multiplatform 库的 API 中避免请求 Android Context

如何在 Kotlin Multiplatform 库的 API 中避免请求 Android Context 假设你正在进行 Kotlin Multiplatform 项目的开发。 你需要从通用代码中获取用户的 GPS 位置&#xff0c;并且目前没有现成的库可以实现该功能。 这时&#xff0c;你决定编写一个新的 Kotlin Multiplatform …

数据结构——静态链表

1.定义&#xff1a; &#xff08;1&#xff09;单链表&#xff1a;各个结点散落在内存中的各个角落&#xff0c;每个结点有指向下一个节点的指针(下一个结点在内存 中的地址); &#xff08;2&#xff09;静态链表&#xff1a;用数组的方式来描述线性表的链式存储结构: 分配一…

Windows中Zookeeper与kafka的安装配置

一、Zookeeper安装与使用 1.安装包下载 直接在官网下载即可Apache ZooKeeper。 下载后直接解压到本地即可。 2.环境配置 1> 在目录中下增加data和log文件夹 2> 解压目录下的 conf 目录&#xff0c;将目录中的 zoo_sample.cfg 文件&#xff0c;复制一份&#xff0c;重…

STC89C51单片机

本文为博主 日月同辉&#xff0c;与我共生&#xff0c;csdn原创首发。希望看完后能对你有所帮助&#xff0c;不足之处请指正&#xff01;一起交流学习&#xff0c;共同进步&#xff01; > 发布人&#xff1a;日月同辉,与我共生_单片机-CSDN博客 > 欢迎你为独创博主日月同…

【pytorch】pytorch学习笔记(续1)

p22&#xff1a;1.加减乘除&#xff1a; &#xff08;1&#xff09;add(a,b)&#xff1a;等同于ab。 &#xff08;2&#xff09;sub(a,b)&#xff1a;等同于a-b。 &#xff08;3&#xff09;mul(a,b)&#xff1a;等同于a*b。 &#xff08;4&#xff09;div(a,b)&#xff1a…