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: valueA
  VAR2: 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/sh

export MY_KEY='secret-key-value'
export MY_FILE=/path/to/my/file/
  1. ./etc/conda/deactivate.d/env_vars.sh编辑如下:
#!/bin/sh

unset 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

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

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

相关文章

CSS复合选择器和CSS层叠性、继承性有哪些内容?

知识引入 1.CSS复合选择器 书写CSS样式表时,可以使用CSS基础选择器选中目标元素。但是在实际网站开发中,一个网页中可能包含成千上万的元素,如果仅使用CSS基础选择器,是远远不够的。为此,CSS提供了几种复合选择器&am…

【论文笔记】Learning Deconvolution Network for Semantic Segmentation

重要说明:严格来说,论文所指的反卷积并不是真正的 deconvolution network 。 关于 deconvolution network 的详细介绍,请参考另一篇博客:什么是Deconvolutional Network? 一、参考资料 Learning Deconvolution Netwo…

命令行启动Android Studio模拟器

1、sdk路径查看(打开Android Studio) 以上前提是安装的Android Studio并添加了模拟器!!! 2、复制路径在终端进入到 cd /Users/duxi/Library/Android/sdk目录(命令行启动不用打开Android Studio就能运行模拟…

深入理解ZooKeeper分布式锁

第1章:引言 分布式系统,简单来说,就是由多台计算机通过网络相连,共同完成任务的系统。想象一下,咱们平时上网浏览网页、看视频,背后其实都是一大堆服务器在协同工作。这些服务器之间需要协调一致&#xff…

微信小程序元素/文字在横向和纵向实现居中对齐、两端对齐、左右对齐、上下对齐

元素对齐往往是新学者的一大困惑点&#xff0c;在此总结常用的各种元素和文字对齐方式以供参考&#xff1a; 初始显示 .wxml <view style"width: 100%;height: 500rpx; background-color: lightgray;"><view style"width: 200rpx;height:100rpx;bac…

navicat连接postgresql、人大金仓等数据库报错

navicat连接postgresql、人大金仓数据库报错问题是一个偶现的问题&#xff0c;需要我们特别关注&#xff1a; 1、客户端连接人大金仓数据库 这里注意&#xff1a;navicat连接postgresql、人大金仓数据库时均选择postgresql类型&#xff0c;因为人大金仓数据库底层和psql数据库…

Github 无法正常访问?一招解决

查询IP网址: https://ip.chinaz.com/ 主页如下&#xff1a; 分别查询以下三个网址的IP&#xff1a; github.com github.global.ssl.fastly.net assets-cdn.github.com 修改 hosts 文件&#xff1a; 将 /etc/hosts 复制到 home 下 sudo cp /etc/hosts ./ gedit hosts 在底下…

【大根堆】【C++算法】871 最低加油次数

作者推荐 【动态规划】【map】【C算法】1289. 下降路径最小和 II 本文涉及知识点 大根堆 优先队列 LeetCode:871最低加油次数 汽车从起点出发驶向目的地&#xff0c;该目的地位于出发位置东面 target 英里处。 沿途有加油站&#xff0c;用数组 stations 表示。其中 statio…

洛谷P5735 【深基7.例1】距离函数(C语言)

首先&#xff0c;三角形周长为 其次(x1,x2)和 &#xff08;y1,y2&#xff09;的距离 然后就可以为所欲为 #include <stdio.h> #include <math.h>double distance(double a1, double b1, double a2, double b2) {return sqrt((a1 - a2) * (a1 - a2) (b1 - b2) * …

code server安装使用教程

1. 安装 1.1. 下载code-server安装包 类似这种文件&#xff1a;code-server-3.10.2-linux-amd64.tar.gz 解压&#xff1a;tar -xvf code-server-3.10.2-linux-amd64.tar.gz 1.2 &#xff08;可选&#xff09;建立软连接 ln -s path/to/code-server-3.10.2-linux-amd64/bin…

IS-IS:05 ISIS开销值和协议优先级

IS-IS 协议为路由器的每个 IS-IS 接口定义并维护了一个 level-1 开销值和一个 level-2开销值。开销值可以在接口上或者全局上手动配置&#xff0c;也可以使用 auto-cost自动计算确定。 修改接口cost&#xff1a; int g0/0/0 isis cost 50修改全局cost&#xff1a; isis cir…

四、Kotlin 表达式

1. 常量 & 变量 1.1 可读写变量&#xff08;var&#xff09; var x initValue // x 称为可读写变量注意&#xff1a;当 var 声明的变量做成员属性时&#xff0c;默认提供 setter/getter 方法。 1.2 只读变量&#xff08;val&#xff09; val x initValue // x 称为只…

鸿蒙开发第2篇__装饰器

在ArkTS中&#xff0c; 有装饰器语法。 装饰器用于装饰类、结构、方法、变量&#xff0c;赋予其特殊的含义。 1. Component 表示自定义组件&#xff0c; 用此装饰器的组件是可重用的&#xff0c;可以与其他组件重合 此装饰器装饰的 struct 表示该结构体具有组件化能力&#…

学习STM32,该用哪款开发工具?

有很多初学者在问&#xff1a;学习STM32&#xff0c;该用哪款开发工具&#xff1f; 我首先说一下我的观点&#xff1a; 1.没有最好&#xff0c;只有适不适合&#xff0c;适合自己的才是最好的。 2.开发工具很多&#xff0c;各有各的特点&#xff0c;有优点肯定也有缺点。 本文…

Google Chrome RCE漏洞 CVE-2020-6507 和 CVE-2024-0517 流程分析

本文深入研究了两个在 Google Chrome 的 V8 JavaScript 引擎中发现的漏洞&#xff0c;分别是 CVE-2020-6507 和 CVE-2024-0517。这两个漏洞都涉及 V8 引擎的堆损坏问题&#xff0c;允许远程代码执行。通过EXP HTML部分的内存操作、垃圾回收等流程方式实施利用攻击。 CVE-2020-…

8.6 代理设计模式

文章目录 一、代理模式&#xff08;Proxy Pattern&#xff09;概述二、代理模式和观察者设计模式三、模式结构四、协作角色五、实现策略六、相关模式七、示例八、应用 一、代理模式&#xff08;Proxy Pattern&#xff09;概述 代理模式是一种设计模式&#xff0c;它通过引入一个…

ThinkPHP+uni-app框架熊猫电竞赏金电竞系统源码PHP含APP+H5

熊猫电竞赏金电竞系统源码&#xff0c;包含APP、H5和搭建视频教程&#xff0c;支持运营级搭建&#xff0c;这套源码是基于ThinkPHPUniaapp框架开发的。 赏金电竞系统源码 APPh5搭建视频 可搭建&#xff01;运营级&#xff01; 赏金赛源码&#xff0c;用户通过平台打比赛&#x…

区间dp/线性dp,HDU 4293 Groups

一、题目 1、题目描述 After the regional contest, all the ACMers are walking alone a very long avenue to the dining hall in groups. Groups can vary in size for kinds of reasons, which means, several players could walk together, forming a group.   As the …

鸿蒙开发实战-手写文心一言AI对话APP

运行环境 &#xff08;后面附有API9版本&#xff0c;可修改后在HarmonyOS4设备上运行&#xff09; DAYU200:4.0.10.16 SDK&#xff1a;4.0.10.15 IDE&#xff1a;4.0.600 在DAYU200:4.0.10.16上运行 一、创建应用 1.点击File->new File->Create Progect 2.选择模版…

乖乖,咱不用BeanUtil.copy了,咱试试这款神级工具(超详细)

引言 在现代Java应用程序开发中&#xff0c;处理对象之间的映射是一个常见而且必不可少的任务。随着项目规模的增长&#xff0c;手动编写繁琐的映射代码不仅耗时且容易出错&#xff0c;因此开发者们一直在寻找更高效的解决方案。比如基于Dozer封装的或者Spring自带的BeanUtil.…