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 pddef 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.26df = 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.0print(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.mzph.cn/news/648478.shtml

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

相关文章

Ansible自动化运维(三)Playbook 模式详解

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01; &#x1f40b; 希望大家多多支…

未来已来:OJAC诚邀您与张立赛博士解锁GPT Store的无限潜力!

亲爱的伙伴们&#xff01;本月31日晚上8:30&#xff0c;我们近屿智能OJAC的培训讲师——哈尔滨工业大学博士毕业生、前之江实验室资深研究员张立赛博士&#xff0c;将为我们带来一场深度技术更新讲座&#xff0c;深度探讨GPT Store的最新发展。 本次讲座将从GPT Store的基本概念…

什么是互联网打工人都需要知道的API?电商API是什么?

我们生活在一个科技主导的世界。在这里&#xff0c;数据无处不在。作为许多不同产品的用户&#xff0c;我们所追寻的不再是某一个能将工作完成的最佳产品&#xff0c;而是一个不仅能有效完成工作&#xff0c;同时也与我们所使用的其他工具完美兼容的产品。因此&#xff0c;了解…

欧氏、曼哈顿、马氏距离

马氏距离&#xff08;Mahalanobis Distance&#xff09;、欧氏距离&#xff08;Euclidean Distance&#xff09;、曼哈顿距离&#xff08;Manhattan Distance&#xff09;是常用的距离度量方式&#xff0c;它们在数据分析、模式识别、聚类等领域中经常被使用。 欧氏距离&#…

3D建模素材网站的特点有哪些?

3D建模素材网站的特点主要包括丰富多样的模型种类、高质量的模型、实时预览功能、易于使用、价格合理以及社区互动等。这些特点使得3D建模素材网站成为设计师们不可或缺的资源之一&#xff0c;帮助他们快速高效地完成设计工作。 那么3D建模素材网站的特点有哪些? 1、模型种类丰…

【漏洞复现】上海冰峰ICEFLOW VPN信息泄露漏洞

Nx01 产品简介 上海冰峰计算机网络技术有限公司是国内VPN、流量管理、行为管理、链路负载均衡、下一代防火墙设备供应商和IT价值解决方案提供商。冰峰网络reporter系统是一套数据报表管理系统。 Nx02 漏洞描述 上海冰峰计算机网络技术有限公司ICEFLOW VPN Router系统存在信息泄…

eNSP学习——利用单臂路由实现VLAN间路由

目录 原理概述 实验内容 实验目的 实验步骤 实验拓扑 实验编址 配置步骤 创建VLAN并配置Access、Trunk接口 配置路由器子接口和IP地址 配置路由器子接口封装VLAN 测试结果 原理概述 在以太网中&#xff0c;通常会使用VLAN技术隔离二层广播域来减少广播的影响&#…

langchain + hugginface入门体验

简介 本文记录一次使用langchain调用openai并部署在huggingface上的经历 安装环境依赖 我的python版本是3.9 pip install langchain pip install openai代码 app.py import streamlit as st # from langchain_community.chat_models import ChatOpenAI from langchain_openai …

w23靶场安装

一、实验环境 服务器&#xff1a;phpstudyv8.1.13 靶场&#xff1a;Bees、sdcms、cpms、khbc二、实验目的 提供一个靶场环境 三、实验步骤 bees靶场安装 1.启动小皮的apache和mysql 2.在小皮V8.1.1.3版本上创建bees网站&#xff0c;选择的php版本最好在5.x&#xff0c;不…

聚道云软件连接器:打通金蝶云星空与招商银行CBS,提升企业财务和银行业务效率

【客户介绍】 某企业是一家从事电子商务的企业&#xff0c;随着业务的不断扩大&#xff0c;对于财务管理和银行业务的需求也越来越高。该企业希望能够实现财务和银行业务的自动化处理&#xff0c;提高工作效率。由于业务的不断发展&#xff0c;企业面临着越来越多的资金管理挑…

强化学习14——DDPG算法

在线策略算法的样本效率比较低&#xff0c;而在DNQ算法中&#xff0c;做到了离线策略学习&#xff0c;但是只能处理动作空间有限的环境。如果动作空间无限&#xff0c;可将动作空间离散化&#xff0c;但比较粗糙&#xff0c;无法惊喜控制。深度确定性策略梯度DDPG&#xff08;d…

网站SSL证书怎么获取?

获取SSL证书的途径通常包括以下几种&#xff1a; 1. 通过受信任的证书颁发机构&#xff08;CA&#xff09;购买&#xff1a; - 你可以直接从知名的证书颁发机构如JoySSL、GeoTrust、DigiCert等处购买。 - 这些机构提供不同类型的SSL证书&#xff0c;包括域名验证(DV)、组…

「JavaSE」抽象类接口3

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;快来卷Java啦 &#x1f387;欢迎点赞收藏加关注哦&#xff01; 抽象类&接口3 &#x1f349;Clonable 接口和深拷贝&#x1f34c;浅拷贝和深拷贝 &#x1f349;Object类&#x1f349;抽象类…

HCIP-BGP实验

实验拓扑 实验需求 1.r1上有两个换汇分别为192.168.1.0/24和192.168.2.0/24只允许学到汇总和1.0 2.r7上有两个还回172.16.1.0/24和172.16.2.0/24要求全部宣告&#xff0c;但是只有2.0可以通过 3.全网可达 实验思路 配置IP地址 BGP配置 实验步骤 配置IP地址 BGP配置 在…

RabbitMQ死信交换机

目录 1.死信交换机介绍 2.TTL 3.延迟队列 4.消息堆积问题 5.惰性队列 6.代码实战 1.死信交换机介绍 当一个队列中信息满足下列情况之一时&#xff0c;可以成为死信&#xff08;dead letter&#xff09; &#xff08;1&#xff09;消费者使用basic.reject&#xff08;Reject…

【mongoDB】集合的创建和删除

目录 1.集合的创建 2. 查看所有集合 3.删除集合 1.集合的创建 格式&#xff1a; db.createCollection ( name ) 例如创建一个名为 bbb 的集合 还可以通过传递一个选项对象来指定集合的属性&#xff0c;例如最大文档的大小&#xff0c;索引选项等 例如 这样创建了一个名为 cc…

如何在IntelliJ IDEA数据库控制台操作Redis

如何在IntelliJ IDEA数据库控制台操作Redis TIPS 本文理论支持IntelliJ IDEA家族所有IDE&#xff08;例如Data Grip等&#xff09;、所有版本理论支持所有基于JDBC的各种GUI工具&#xff01; 最近工作中&#xff0c;经常要操作到Redis&#xff0c;尽管市面上的Redis客户端GUI非…

算法基础之树状数组

文章目录 树状数组 树状数组 树状数组能解决的最关键的问题就是能够 O ( log ⁡ n ) O(\log n) O(logn)内&#xff0c;给某个位置上的数&#xff0c;加上一个数&#xff0c;或者求前缀和 他和前缀和数组的区别就是&#xff0c;树状数组支持修改原数组的内容&#xff0c;而前缀…

C语言第九弹---二维数组

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】 二维数组 1、二维数组的创建 1.1、二维数组的概念 ​1.2、⼆维数组的创建 2、二维数组的初始化 2.1、不完全初始化 ​2.2、完全初始化 ​2.3、按照行初始化 ​2.4、…

如何使用Docker安装Spug并实现远程访问本地运维管理界面

文章目录 前言1. Docker安装Spug2 . 本地访问测试3. Linux 安装cpolar4. 配置Spug公网访问地址5. 公网远程访问Spug管理界面6. 固定Spug公网地址 前言 Spug 面向中小型企业设计的轻量级无 Agent 的自动化运维平台&#xff0c;整合了主机管理、主机批量执行、主机在线终端、文件…