Conda python管理环境environments 四 从入门到精通

Conda系列:

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

1. 设置环境变量

如果要将环境变量与环境相关联, 您可以使用配置 API。建议将其作为 使用 activate 和 deactivate 脚本,因为这些脚本是 可能不安全的任意代码。

首先,创建环境并激活它:

conda create -n test-env
conda activate test-env

要列出您可能拥有的任何变量,请运行conda env config vars list .

要设置环境变量,请运行conda env config vars set my_var=value

设置环境变量后,必须重新激活环境:conda activate test-env .

要检查是否已设置环境变量,请运行 echo $my_var(在 Windows 上cho %my_var%)或 conda env config vars list.

停用环境时,可以使用这些相同的命令来查看 环境变量消失。

您可以使用-n-p 标志指定要影响的环境。该-n标志允许您命名环境,-p并允许您指定环境的路径。

要取消设置环境变量,请运行conda env config vars unset my_var -n test-env

停用环境时,可以看到环境变量通过重新运行而消失echo my_varconda env config vars list显示变量名称 不再存在。

使用conda env config vars设置的环境变量将保留在conda env export .此外,您可以在environment.yml文件中声明环境变量 如下所示:

name: env-name
channels:- conda-forge- defaults
dependencies:- python=3.7- codecov
variables:VAR1: valueAVAR2: valueB

2. 保存环境变量

Conda 环境可以包含已保存的环境变量。

在 Windows 和 macOS 或 Linux假设您想要一个环境“分析”来存储 登录服务器所需的密钥和 配置文件。以下各节解释了如何编写env_vars的脚本。

这种类型的脚本文件可以是 conda 包的一部分,位于 在这种情况下,这些环境变量在 包含该包的环境已激活。

您可以将这些脚本命名为您喜欢的任何名称。但是,多个 包可能会创建脚本文件,因此请务必使用描述性 其他包未使用的名称。一个流行的选择是 在表单中为脚本命名packagename-scriptname.sh 或在 Windows 上packagename-scriptname.bat, .

2.1 Windows

  1. 在 终端窗口,通过在命令 shell 中运行%CONDA_PREFIX%
  2. 输入该目录并创建这些子目录和 文件:
cd %CONDA_PREFIX%
mkdir .\etc\conda\activate.d
mkdir .\etc\conda\deactivate.d
type NUL > .\etc\conda\activate.d\env_vars.bat
type NUL > .\etc\conda\deactivate.d\env_vars.bat
  1. 编辑 .\etc\conda\activate.d\env_vars.bat 如下:
set MY_KEY='secret-key-value'
set MY_FILE=C:\path\to\my\file
  1. 编辑 .\etc\conda\deactivate.d\env_vars.bat 如下:
set MY_KEY=
set MY_FILE=

当您运行conda activate analytics 时,环境变量MY_KEYMY_FILE设置为写入文件的值。 运行conda deactivate 时,这些变量将被擦除。

2.2 macOS 和 Linux

  1. 在终端窗口中找到 conda 环境的目录, 通过在终端窗口中运行echo $CONDA_PREFIX
  2. 输入该目录并创建这些子目录和 文件:
cd $CONDA_PREFIX
mkdir -p ./etc/conda/activate.d
mkdir -p ./etc/conda/deactivate.d
touch ./etc/conda/activate.d/env_vars.sh
touch ./etc/conda/deactivate.d/env_vars.sh
  1. ./etc/conda/activate.d/env_vars.sh编辑如下:
#!/bin/shexport MY_KEY='secret-key-value'
export MY_FILE=/path/to/my/file/
  1. ./etc/conda/deactivate.d/env_vars.sh编辑如下:
#!/bin/shunset MY_KEY
unset MY_FILE

当您运行conda activate analytics 时,环境变量MY_KEYMY_FILE设置为写入文件的值。 运行conda deactivate 时,这些变量将被擦除。

3. 共享环境

您可能希望与其他人共享您的环境— 示例,以便他们可以重新创建您已完成的测试。自 允许他们快速重现您的环境,以及所有 软件包和版本,给他们一份你的environment.yml 文件。

3.1 导出environment.yml文件

Note注意
如果您已经有一个文件environment.yml 当前目录,它将在此任务期间被覆盖。

  1. 激活要导出的环境:conda activate myenv

Note注意
myenv替换为环境的名称。

  1. 将活动环境导出到新文件:
conda env export > environment.yml

Note注意
此文件处理环境的两个 pip 包 和 conda 包。

  1. 通过电子邮件将导出的environment.yml文件发送到 其他人。

3.2 跨平台导出环境文件

如果要使环境文件跨平台工作, 您可以使用该标志conda env export --from-history 。这 将仅包含您明确要求的软件包, 而不是将每个包都包含在您的环境中。

例如,如果创建环境并安装 Python 和package:

conda install python=3.7 codecov

这将下载并安装许多其他软件包来解决 用于依赖项。这将引入可能不兼容的软件包 跨平台。

如果使用conda env export ,它将导出所有这些包。 但是,如果您使用 conda env export --from-history,它将 仅导出您专门选择的那些:

(env-name) ➜  ~ conda env export --from-history
name: env-name
channels:- conda-forge- defaults
dependencies:- python=3.7- codecov
prefix: /Users/username/anaconda3/envs/env-name

Note注意
如果您在 macOS 上安装了 Anaconda 2019.10,您的前缀可能是/Users/username/opt/envs/env-name .

4. 手动创建环境文件

您可以手动创建环境文件 environment.yml 与他人分享。

示例:一个简单的环境文件:

name: stats
dependencies:- numpy- pandas

示例:一个更复杂的环境文件:

name: stats2
channels:- javascript
dependencies:- python=3.9- bokeh=2.4.2- conda-forge::numpy=1.21.*- nodejs=16.13.*- flask- pip- pip:- Flask-Testing

您可以通过添加 nodefaults到频道列表。

channels:- javascript- nodefaults

这等效于传递--override-channels选项 到大多数conda命令。

environment.yml中的channels列表添加nodefaults与在.condarc文件中的channels列表中移除defaults类似。然而,修改environment.yml只影响您的一个conda环境,而修改.condarc会影响所有conda环境。

有关使用此 environment.yml 文件创建环境的详细信息,请参阅从 environment.yml 文件创建环境。

5. 还原环境

Conda 保留对环境所做的所有更改的历史记录, 因此,您可以轻松地“回滚”到以前的版本。要列出对当前环境的每次更改的历史记录,请执行以下操作:

conda list --revisions

将环境恢复到先前版本:conda install --revision=REVNUMconda install --rev REVNUM

如果你想将你的环境恢复到第8个版本,运行conda install --rev 8

6. 删除环境

若要删除环境,请在终端窗口中运行:

conda remove --name myenv --all

您可以使用conda env remove --name myenv来代替。

若要验证环境是否已删除,请在终端窗口中运行:

conda info --envs

显示的环境列表不应显示已删除的 环境。

参考

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

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

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

相关文章

【Linux】解决能访问github但克隆不了的问题

文章目录 1.查看你的代理的地址:2.git设置3.尝试clone 1.查看你的代理的地址: 2.git设置 先看看当前的git设置 $ git config --list然后git中要设置好对应的地址 git config --global http.proxy 127.0.0.1:78903.尝试clone $ git clone https://git…

服务器感染了.wis[[Rast@airmail.cc]].wis勒索病毒,如何确保数据文件完整恢复?

导言: 在当今数字化的时代,恶意软件攻击已经变得越来越复杂和狡猾,[[MyFilewaifu.club]].wis [[backupwaifu.club]].wis[[Rastairmail.cc]].wis勒索病毒是其中的一种新威胁。本文91数据恢复将深入介绍[[MyFilewaifu.club]].wis [[backupwaif…

机器学习实验报告-集成学习

目录 一、集成学习介绍 1.1集成学习的引入 1.2集成学习发展史 1.3集成学习的学习组织方式 1.3.1并联组织关系 1.3.2串联组织关系 1.4集成学习及其实现方法概述 二、集成学习实现方法 2.1Boosting 2.1.1基本过程 2.1.2注意点 2.2bagging 2.2.1基本过程 2.2.2注意点…

QT实现USB通讯

一.概述 QT实现USB通讯这里主要介绍两种方法,一种是通过libusb库来实现usb通讯,一种是通过hidapi库实现通信。 1.介绍libusb库 libusb 是一个 C 库,提供对 USB 设备的通用访问。 可移植的:使用单个跨平台API,它可以…

一、防御保护---信息安全概述

一、网络安全防御---信息安全概述 1.信息安全现状及挑战1.1 网络空间安全市场在中国,潜力无穷1.2 数字化时代威胁升级1.3 传统安全防护逐步失效1.4 安全风险能见度不足1.5 缺乏自动化防御手段1.6 网络安全监管标准愈发严苛 2.信息安全概述2.1 简介2.2 常见的网络安全…

Java 设计者模式以及与Spring关系(四) 代理模式

目录 简介: 23设计者模式以及重点模式 代理模式(Proxy Pattern) 静态代理示例 spring中应用 动态代理 1.基于JDK的动态代理 target.getClass().getInterfaces()作用 内名内部类写法(更简洁,但不推荐) 2.基于CGLIB实现 spring中应用 …

uniapp使用自定义组件

tt.vue中使用video-player组件 用到的目录如下: pages.json {"path": "pages/Tabbar/tt/tt","style": {"navigationBarTitleText": "","enablePullDownRefresh": false,// 使用自定义组件"using…

C++ 类定义

C 类定义 定义一个类需要使用关键字 class,然后指定类的名称,并类的主体是包含在一对花括号中,主体包含类的成员变量和成员函数。 定义一个类,本质上是定义一个数据类型的蓝图,它定义了类的对象包括了什么&#xff0…

【论文阅读笔记】Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation

1.介绍 Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation Swin-Unet:用于医学图像分割的类Unet纯Transformer 2022年发表在 Computer Vision – ECCV 2022 Workshops Paper Code 2.摘要 在过去的几年里,卷积神经网络&#xff…

x-cmd pkg | dasel - JSON、YAML、TOML、XML、CSV 数据的查询和修改工具

目录 简介首次用户快速实验指南基本功能性能特点竞品进一步探索 简介 dasel,是数据(data)和 选择器(selector)的简写,该工具使用选择器查询和修改数据结构。 支持 JSON,YAML,TOML&…

CentOS 7 安装配置MySQL

目录 一、安装MySQL​编辑​编辑 1、检查MySQL是否安装及版本信息​编辑 2、卸载 2.1 rpm格式安装的mysql卸载方式 2.2 二进制包格式安装的mysql卸载 3、安装 二、配置MySQL 1、修改MySQL临时密码 2、允许远程访问 2.1 修改MySQL允许任何人连接 2.2 防火墙的问题 2…

TCP三握四挥(面试需要)

TCP建立连接需要三次握手过程,关闭连接需要四次挥手过程 三次握手 从图中可以看出,客户端在发起connect时,会发起第一次和第三次握手。服务端在接收客户端连接时,会发起第二次握手。 这三次握手,都会通过SYNACK的方式…

基于ChatGPT4+Python近红外光谱数据分析及机器学习与深度学习建模教程

详情点击链接:基于ChatGPT4Python近红外光谱数据分析及机器学习与深度学习建模教程 第一:GPT4 1、ChatGPT(GPT-1、GPT-2、GPT-3、GPT-3.5、GPT-4模型的演变) 2、ChatGPT对话初体验 3、GPT-4与GPT-3.5的区别,以及与…

20240122在WIN10+GTX1080下使用字幕小工具V1.2的使用总结(whisper)

20240122在WIN10GTX1080下使用字幕小工具V1.2的使用总结 2024/1/22 19:52 结论:这个软件如果是习作,可以打101分,功能都实现了。 如果作为商业软件/共享软件,在易用性等方面,可能就只能有70分了。 【百分制】 可选的改…

2017年认证杯SPSSPRO杯数学建模A题(第二阶段)安全的后视镜全过程文档及程序

2017年认证杯SPSSPRO杯数学建模 A题 安全的后视镜 原题再现: 汽车后视镜的视野对行车安全非常重要。一般来说,汽车的后视镜需要有良好的视野范围,以便驾驶员能够全面地了解车后方的道路情况。同时,后视镜也要使图像的畸变尽可能…

Centos升级gcc版本

步骤1:查看当前服务器gcc版本 gcc –version 步骤2:查看当前gcc安装目录 find / -name gcc cd /usr/bin ll gcc* 因为gcc,g,c都是配套的,查找出 g和c的原版本位置 步骤3:安装下载依赖包 yum install glibc-heade…

yolov8 opencv dnn部署 github代码

源码地址 本人使用的opencv c github代码,代码作者非本人 实现推理源码中作者的yolov8s.onnx 推理条件 windows 10 Visual Studio 2019 Nvidia GeForce GTX 1070 opencv4.7.0 (opencv4.5.5在别的地方看到不支持yolov8的推理,所以只使用opencv4.7.0) c部署 环境…

竞赛保研 机器视觉目标检测 - opencv 深度学习

文章目录 0 前言2 目标检测概念3 目标分类、定位、检测示例4 传统目标检测5 两类目标检测算法5.1 相关研究5.1.1 选择性搜索5.1.2 OverFeat 5.2 基于区域提名的方法5.2.1 R-CNN5.2.2 SPP-net5.2.3 Fast R-CNN 5.3 端到端的方法YOLOSSD 6 人体检测结果7 最后 0 前言 &#x1f5…

Maven《四》-- 基于Idea进行Maven工程构建

目录 🐶4.1 构建概念和构建过程 🐶4.2 命令方式项目构建 1. 🥙编译:mvn compile 2. 🥙清理:mvn clean 3. 🥙打包:mvn package 4. 🥙安装:mvn install …

泰迪科技最新大数据法律监督模型解决方案

大数据法律监督平台是基于监督数据整合管理平台、监督模型构建平台、内置模型库以及法律监督线索管理平台打造的一套服务于检察机关法律监督工作的专业化系统。通过数据采集、融合、挖掘、建模、展现等一系列能力,辅助检察官从纷繁复杂的数据中,开展多维…