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

news2025/1/15 6:45:37

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

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

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

相关文章

电子行业含砷废水,深度除砷技术

砷是一种类金属元素&#xff0c;砷化物生物毒性极强&#xff0c;是国际公认的第一类致癌物。因此&#xff0c;这些含砷废水必须经过一定的处理才能排放到环境中。那么&#xff0c;哪些行业会产生含砷废水呢?在地球上&#xff0c;砷是一种常见的元素。在自然界中&#xff0c;砷…

程序执行原理揭秘:你的代码是如何“跑”起来的?

程序执行原理揭秘&#xff1a;你的代码是如何“跑”起来的&#xff1f; 一、执行前的准备工作 我们先来看一下程序执行前需要做哪些准备工作。 我们首先需要了解程序的格式。你可以把程序比作一本书&#xff0c;而程序的格式就是这本书的版式&#xff0c;它决定了书的结构和…

【Python-PyCharm】PyCharm 安装并创建项目(保姆级教程)

【Python-PyCharm】PyCharm 安装并创建项目&#xff08;保姆级教程&#xff09; 1&#xff09;PyCharm 下载2&#xff09;PyCharm 安装3&#xff09;创建项目&#xff08;使用PyCharm编写程序&#xff09; 使用 PyCharm 需要配置 Python 环境变量&#xff0c;详情如下&#xff…

使用DBSyncer同步Oracle11g数据到Mysql5.7中_实现全量数据同步和增量数据实时同步_操作过程---数据同步之DBSyncer工作笔记007

之前都是用mysql和Postgresql之间进行同步的,已经实现了数据的实时同步,现在要实现Oracle数据库到Mysql数据库的全量,以及增量同步. 因为之前配置的不对,这里架构名写成了orcl,所以导致,虽然能连接上,但是,在进行数据同步的时候,看不到表,所以这里说一下如何进行连接 这里,首先…

力扣80、删除有序数组中的重复项Ⅱ(中等)

1 题目描述 图1 题目描述 2 题目解读 对于有序数组nums&#xff0c;要求在不使用额外数组空间的条件下&#xff0c;删除数组nums中重复出现的元素&#xff0c;使得nums中出现次数超过两次的元素只出现两次。返回删除后数组的新长度。 3 解法一&#xff1a;双指针 双指针法可以…

分享7种SQL的进阶用法

分享7种SQL的进阶用法 前言 还只会使用SQL进行简单的insert、update、detele吗&#xff1f;本文给大家带来7种SQL的进阶用法&#xff0c;让大家在平常工作中使用SQL简化复杂的代码逻辑。 1.自定义排序&#xff08;ORDER BY FIELD&#xff09; 在MySQL中ORDER BY排序除了可以…

HNSW算法

From&#xff1a; HNSW算法(nsmlib/hnswlib)-CSDN博客HNSW算法的基本原理及使用 - 知乎 HNSW是一种广泛使用的ANN图索引结构&#xff0c;包括DiskANN、DF-GAS、SmartSSD等。本文档主要总结HNSW的结构与工作流程&#xff0c;便于后期研究其工作流程在迁移到CSD中存在的I/O问题…

【LeetCode: 148. 排序链表 + 链表 + 归并排序】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

防火墙源NAT配置

拓扑 需求 生产区在工作时间内可以访问服务器区&#xff0c;仅可以访问HTTP服务器。办公区全天可以访问服务区&#xff0c;其中&#xff0c;10.0.2.20可以访问FTP服务器和HTTP服务器 10.0.2.10仅可以ping通10.0.3.10办公区在访问服务区时采用匿名认证方式进行上网行为管理。办…

SAP创建资产号码和分配资产价值

文章目录 1 Creat new asset2 View asset3 Create old asset4 Transfer value5 Summary 1 Creat new asset T-code(AS01) 2 View asset T-CODE : AS03 3 Create old asset T-code(as91) 4 Transfer value T-code(ABLDT) If there is following information a…

双向队列的创建队首与队尾的操作deque()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 双向队列的创建 队首与队尾的操作 deque() [太阳]选择题 请问以下代码输出的结果是&#xff1f; from collections import deque print("【创建双向队列】d deque()") d deque(…

[Python] 机器学习 - 常用数据集(Dataset)之鸢尾花(Iris)数据集介绍,数据可视化和使用案例

鸢(yuān)尾花(Iris)数据集介绍 鸢【音&#xff1a;yuān】尾花&#xff08;Iris&#xff09;是单子叶百合目花卉&#xff0c;是一种比较常见的花&#xff0c;而且鸢尾花的品种较多&#xff0c;在某个公园里你可能不经意间就能碰见它。 鸢尾花数据集最初由Edgar Anderson 测量…

LeetCode 热题 100 | 子串

目录 1 560. 和为 K 的子数组 2 239. 滑动窗口最大值 3 76. 最小覆盖子串 菜鸟做题第二周&#xff0c;语言是 C 1 560. 和为 K 的子数组 题眼&#xff1a;“子数组是数组中元素的连续非空序列。” 解决本问题的关键就在于如何翻译问题。子数组 s 的和可以看作数组 i 的…

手撕重采样,考虑C的实现方式

一、参考文章&#xff1a; 重采样、上采样、下采样 - 知乎 (zhihu.com) 先直接给结论&#xff0c;正常重采样过程如下&#xff1a; 1、对于原采样率fs&#xff0c;需要重采样到fs1&#xff0c;一般fs和fs1都是整数哈&#xff0c;则先找fs和fs1的最小公倍数&#xff0c;设为m…

WordPress反垃圾评论插件Akismet有什么用?如何使用Akismet插件?

每次我们成功搭建好WordPress网站后&#xff0c;都可以在后台 >> 插件 >> 已安装的插件&#xff0c;在插件列表中可以看到有一个“Akismet反垃圾邮件&#xff1a;垃圾邮件保护”的插件&#xff08;个人觉得是翻译错误&#xff0c;应该是反垃圾评论&#xff09;。具…

【新书推荐】3.4 浮点型

本节必须掌握的知识点&#xff1a; 示例九 代码分析 汇编解析 浮点数的输出精度 【补充内容】 3.4.1 示例九 浮点型分为&#xff1a;单精度float、双精度double、长双精度long double。 类型 存储大小 值范围 精度 单精度 float 4字节 【1.2E-38~ 3.4E38】 6位小数 …

SpringMVC-对静态资源的访问

1.工程中加入静态资源 在webapp下创建static文件夹&#xff0c;此文件夹专门放入静态资源 2.使项目可以处理静态资源的请求 在SpringMVC配置文件中添加以下语句 1.引入命名空间 xmlns:mvc"http://www.springframework.org/schema/mvc" xsi:schemaLocation“http…

HarmonyOS鸿蒙学习笔记(23)监听Wifi状态变化

监听Wifi状态变化 前言创建接收状态变化的Bean对象创建订阅者和订阅事件参考资料&#xff1a; 前言 本篇博文通过动态订阅公共事件来说明怎么使用HarmonyOS监听Wifi状态的变化。关于动态订阅公共事件的概念&#xff0c;官网有详细说明&#xff0c;再次就不在赘述。博文相关项目…

UE5 Chaos系统 学习笔记

记得开插件&#xff1a; 1、锚点场 在锚点场范围内的物体静止且不被其他力场损坏 2、ClusterStrain 破裂效果的力 3、DisableField chaos破裂后的模拟物理在绿色范围内禁止模拟物理 4、ForceAndStrain 破裂效果的力 5、ForceAndStrainFallOff 破裂效果的力&#xff0c;但是…

代码随想录算法训练营第十一天 | 二叉树基础

代码随想录算法训练营第十一天 | 二叉树基础 文章目录 代码随想录算法训练营第十一天 | 二叉树基础1 二叉树的理论基础1.1 二叉树的类型1.2 二叉树的存储方式1.3 二叉树的遍历方式1.4 二叉树的定义 2 二叉树的递归遍历2.1 前序遍历2.2 中序遍历2.3 后序遍历 3 二叉树的迭代遍历…