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

Conda系列:

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

1. Activating an environment激活环境

激活环境对于在环境中制作软件至关重要 好使。激活需要两个主要功能:向 PATH 添加条目 环境并运行环境可能的任何激活脚本 包含。这些激活脚本是软件包可以任意设置的方式 其操作可能需要的环境变量。您还可以使用 config API 设置环境变量 。

激活先于 PATH。这只会生效 当您将环境激活为终端会话的本地环境时, 不是全局性的。

Note注意
安装 Anaconda不建议这样做,因为它安装时, 您可以选择“将 Anaconda 添加到我的 PATH 环境变量”。 Anaconda 附加到 PATH。 当安装程序附加到 PATH 时,它不会调用激活脚本。
在 Windows 上,PATH 由两部分组成,系统用户PATH 和 “Just Me” PATH,我们将其添加到用户对于“所有用户”,我们将其添加到系统您PATH。在后一种情况下,您不需要。我们不建议多用户安装 PATH 和 路径。 。

要激活环境,请执行以下操作:

conda activate myenv

Note注意
myenv替换为环境名称或目录路径。

Conda 将路径名myenv预置到系统命令中。

如果尚未激活环境,您可能会收到一条警告消息:

Warning:
This Python interpreter is in a conda environment, but the environment has
not been activated. Libraries may fail to load. To activate this environment
please see https://conda.io/activation.

如果收到此警告,则需要激活环境。去做 因此,在 Windows 上,在终端窗口中运行:c:\Anaconda3\Scripts\activate base

Windows 对正确激活极为敏感。这是因为 Windows 库加载程序不支持库的概念 以及知道在何处搜索其依赖项的可执行文件(RPATH) 。
相反,Windows 依赖于动态链接库搜索顺序.

如果环境未处于活动状态,则不会找到库,也不会在那里 会有很多错误。HTTP 或 SSL 错误是 子环境中的 Python 找不到必需的 OpenSSL 库。

Conda 本身包含一些特殊的解决方法来添加其必要的 PATH 条目。这使得它可以在不激活或 任何子环境都处于活动状态。通常,在 未首先激活该环境的环境可能无法正常工作。 为了能够在激活的环境中运行可执行文件,您可能需要 对命令conda run感兴趣。

如果您在使用 PATH 时遇到错误,请查看我们的故障排除。

2. Conda 初始化

早期版本的 conda 引入了用于激活的脚本 跨操作系统的行为统一。Conda 4.4允许 conda activate myenv. Conda 4.6 添加了广泛的初始化 支持,以便 Conda 更快、更少地工作 种类繁多的 shell(bash、zsh、csh、fish、xonsh 等)。 现在,这些 shell 可以使用该命令conda activate。 消除修改 PATH 的需要使 conda 对 系统上的其他软件。有关更多信息,请阅读conda init --help 的输出。

一个设置可能对您有用conda init

auto_activate_base: bool

此设置控制 conda 是否激活您的base 环境。您将拥有conda 命令无论哪种方式都可用,但不激活环境, 环境中的其他程序在以下情况下都不可用 环境是用conda activate base 激活的。人 有时选择此设置来加快其shell所需的时间 启动或阻止 Conda 安装的软件自动启动 隐藏他们的其他软件。

3. Nested activation嵌套激活

默认情况下,conda activate将停用当前环境 在激活新环境之前,并在以下情况下重新激活它 停用新环境。有时你可能想离开 当前环境 PATH 条目就位,以便您可以继续 从第一个环境轻松访问命令行程序。 这在常见的命令行实用程序中最常见 安装在基本环境中。保留当前环境 在 PATH 中,您可以使用以下命令激活新环境:

conda activate --stack myenv

如果您希望在从最外层环境开始时始终堆叠, 这通常是基本环境,您可以设置 auto_stack配置选项:

conda config --set auto_stack 1

您可以指定一个更大的数字来进行更深层次的自动堆叠, 但不建议这样做,因为更有可能进行更深层次的堆叠 导致混淆。

4. Deactivating an environment 停用环境

若要停用环境,请键入:

conda deactivate

Conda会从您的系统命令中删除当前活动环境的路径名。

Note注意
若要简单地返回到基本环境,最好在未指定环境的情况下调用conda activate,而不是尝试停用。如果 从基础环境运行conda deactivate,可能会丢失 完全能够运行 conda。别担心,这是这个 shell 的本地 - 你可以 开始一个新的。但是,如果环境是使用 --stack(或被自动堆叠)那么最好使用conda deactivate.

5. 当前环境

使用终端执行以下步骤。

默认情况下,活动环境—您当前所在的环境 using—显示在括号 () 或括号 [] 中 命令提示符的开头:

(myenv) $

如果未看到此内容,请运行:

conda info --envs

在显示的环境列表中,您的当前环境 以星号 (*) 突出显示。

默认情况下,命令提示符设置为显示 活动环境。要禁用此选项,请执行以下操作:

conda config --set changeps1 false

要重新启用此选项,请执行以下操作:

conda config --set changeps1 true

6. 查看环境列表

若要查看所有环境的列表,请在终端窗口中运行:

conda env list

或者

conda info --envs

将显示类似于以下内容的列表:

conda environments:
myenv                 /home/username/miniconda/envs/myenv
snowflakes            /home/username/miniconda/envs/snowflakes
bunnies               /home/username/miniconda/envs/bunnies

如果此命令由管理员运行,则所有环境的列表 将显示属于所有用户。

7. 查看环境中的软件包列表 a list of the packages

要查看特定环境中安装的所有软件包的列表,请执行以下操作:

  • 如果环境未激活,请在终端窗口中运行:
conda list -n myenv

  • 如果环境已激活,请在终端窗口中运行:
conda list

  • 要查看环境中是否安装了特定软件包,请在 终端窗口,运行:
conda list -n myenv scipy

8. 在环境中使用 pip

若要在环境中使用 pip,请在终端窗口中运行:

conda install -n myenv pip
conda activate myenv
pip <pip_subcommand>

同时使用 pip 和 conda 时可能会出现问题。当组合 conda 和 pip 时, 最好使用隔离的 conda 环境。只有在 conda 被用于 如果使用 pip 安装任何剩余的包,请安装尽可能多的包 软件。如果需要对环境进行修改,最好创建一个 新环境,而不是在 pip 之后运行 conda。在适当的情况下,conda 和 pip 要求应存储在文本文件中。

我们建议您:

8.1 仅在 conda 之后使用 pip

  • 使用 conda 安装尽可能多的要求,然后使用 pip。
  • Pip 应该运行--upgrade-strategy only-if-needed(默认值)。
  • 不要将 pip 与参数--user一起使用,避免所有用户安装。

8.2 使用 conda 环境进行隔离

  • 创建一个 conda 环境来隔离 pip 所做的任何更改。
  • 由于硬链接,环境占用的空间很小。
  • 应注意避免在根环境中运行 pip。

8.3 如果需要更改,请重新创建环境

  • 一旦使用了 pip,conda 将不知道这些更改。
  • 若要安装其他 conda 包,最好重新创建 环境。

8.4 将 conda 和 pip 要求存储在文本文件中

  • Package requirements 可以通过参数--file 传递给 conda。
  • Pip 接受带有 -r或 的 --requirementsPython 包列表。
  • Conda env 将基于具有 conda 和 pip 要求。

参考

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

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

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

相关文章

chrome提升搜索效率的快捷方法

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

企业微信开发:客户端调试

开启客户端调试 按照下面官网的说明操作&#xff0c;就可以开启客户端调试了。 官网文档链接&#xff1a;企业微信开发者中心&#xff1a;常见问题 - FAQ - 客户端调试 进入调试模式 进入方式&#xff1a;Ctrl Alt Shift D 按快捷键 Ctrl Alt Shift D&#xff0c;进入…

代理设计模式JDK动态代理CGLIB动态代理原理

代理设计模式 代理模式&#xff08;Proxy&#xff09;&#xff0c;为其它对象提供一种代理以控制对这个对象的访问。如下图 从上面的类图可以看出&#xff0c;通过代理模式&#xff0c;客户端访问接口时的实例实际上是Proxy对象&#xff0c;Proxy对象持有RealSubject的引用&am…

内网穿透的应用-使用Docker搭建一个Wiki.Js知识库系统并实现分享他人远程创作

文章目录 1. 安装Docker2. 获取Wiki.js镜像3. 本地服务器打开Wiki.js并添加知识库内容4. 实现公网访问Wiki.js5. 固定Wiki.js公网地址 不管是在企业中还是在自己的个人知识整理上&#xff0c;我们都需要通过某种方式来有条理的组织相应的知识架构&#xff0c;那么一个好的知识整…

Consul使用详解

简介 Consul是一个由HashiCorp公司开发的开源软件&#xff0c;其发展历程可以概括为以下几个阶段&#xff1a; 初期阶段&#xff08;2014-2015年&#xff09;&#xff1a;Consul最初发布于2014年5月&#xff0c;这个版本是基于Go语言开发的&#xff0c;并提供了诸如服务发现、…

【百面机器学习】读书笔记(一)

本文系列主要作用就是读书笔记&#xff0c;自己看的话比较杂&#xff0c;没怎么归类过&#xff0c;所以现在跟着这个分类走一遍。本文主要内容为前两章&#xff0c;特征工程和模型评估。 如果我想起一些相关的内容也会做适当的补充&#xff0c;主打就是一个intuition&#xff…

深度学习算法应用实战 | DINOv2 图像相似度实战

特征提取简介 什么是特征提取 特征提取器负责为音频或视觉模型准备输入特征。包括从序列中提取特征&#xff0c;例如&#xff0c;对音频文件进行预处理以生成对数梅尔频谱图特征。以及从图像中提取特征&#xff0c;例如裁剪图像文件&#xff0c;还包括填充、归一化以及转换为N…

Vue+Element(el-switch的使用)+springboot

目录 1、编写模板 2、发送请求 3、后端返数据 1.Controller类 2.interface接口&#xff08;Service层接口&#xff09; 3.Service&#xff08;接口实现&#xff09; 4.interface接口&#xff08;Mapper层接口&#xff09; 5.xml 6.效果 4、el-switch属性 1、编写模板 …

CSDN COC西安城市开发者社区2023年度线下聚会

1. 活动背景 CSDN始终致力于促进城市区域内尖端新型技术开发者交流&#xff0c;提供开放自由的切磋平台。在这个充满挑战和机遇的一年即将结束之际&#xff0c;通过本次聚会&#xff0c;汇聚西安本地各行各业的开发者朋友&#xff0c;回顾过去一年城市社区的成就和收获&#x…

一文(10图)了解Cornerstone3D核心概念(万字总结附导图)

Cornerstone3D介绍 Cornerstone3D是一个专门为处理三维医学影像而设计的JavaScript库。 它是Cornerstone项目的一部分&#xff0c;旨在为医学影像社区提供高性能、可扩展且易于使用的开源Web工具&#xff0c;专注于提供交互式的3D医学图像浏览体验&#xff0c;适用于多种医学…

不想要网页默认的右键菜单栏,怎么封装一个可以自定义的右键菜单组件?

说在前面 &#x1f388;网页的功能和用途可能各不相同&#xff0c;在传统右键菜单栏中无法满足每个用户的个性化需求。通过自定义右键菜单栏&#xff0c;用户可以根据自己的需求添加、调整和删除菜单选项&#xff0c;以实现个性化定制。通过自定义右键菜单栏&#xff0c;可以为…

如何使用 Helm 在 K8s 上集成 Prometheus 和 Grafana|Part 3

在本教程的前两部分&#xff0c;我们分别了解和学习了Prometheus 和 Grafana 的基本概念和使用的前提条件&#xff0c;以及使用 Helm 在 Kubernetes 上安装 Prometheus。 在今天的教程中&#xff0c;我们将为你介绍以下内容&#xff1a; 安装 Grafana&#xff1b;集成 Promethe…

centos 启动nacos pg版本

背景&#xff1a;支持国产化需求&#xff0c;不再使用mysql 1.修改插件 git clone https://github.com/wuchubuzai2018/nacos-datasource-extend-plugins.git cd nacos-datasource-extend-plugins/nacos-postgresql-datasource-plugin-ext mvn package编译成功后&#xff0c;…

Docker(七)使用网络

作者主页&#xff1a; 正函数的个人主页 文章收录专栏&#xff1a; Docker 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01; Docker 中的网络功能介绍 Docker 允许通过外部访问容器或容器互联的方式来提供网络服务。 一、外部访问容器 容器中可以运行一些网络应用&…

代码随想录算法训练营29期|day27 任务以及具体安排

39. 组合总和// 剪枝优化 class Solution {public List<List<Integer>> combinationSum(int[] candidates, int target) {List<List<Integer>> res new ArrayList<>();Arrays.sort(candidates); // 先进行排序backtracking(res, new ArrayList&…

NetSuite 文心一言(Ernie)的AI应用

有个故事&#xff0c;松下幸之助小时候所处的年代是明治维新之后&#xff0c;大量引用西洋技术的时期。当时大家对“电”能干什么事&#xff0c;充满好奇。“电能干什么&#xff1f;它能帮我们开门么&#xff1f;” 松下幸之助的爷爷对电不屑&#xff0c;于是就问他。松下幸之助…

仓储管理系统——软件工程报告(可行性研究报告及分析)①

可行性研究报告及分析 一、问题定义 1.1项目背景 随着社会的发展以及企业规模的扩大和业务的复杂化&#xff0c;仓库管理变得愈发重要。传统的手工管理方式已经导致了一系列问题&#xff0c;包括库存准确性低、订单处理效率慢等。为了提高仓库运作效率、降低成本并优化库存管…

Qt5.12.0 与 VS2017 在 .pro文件转.vcxproj文件

一、参考资料 stackoverflow qt - How to generate .sln/.vcproj using qmake - Stack Overflowhttps://stackoverflow.com/questions/2339832/how-to-generate-sln-vcproj-using-qmake?answertabtrending#tab-topqt - 如何使用 qmake 生成 .sln/.vcproj - IT工具网 (coder.wo…

搜索与图论第六期 最短路问题

前言 最短路问题真的很重要很重要希望大家都能够完全掌握所有最短路算法&#xff01;&#xff01; 一、最短路问题的分类 Dijkstra&#xff1a; Dijkstra算法是一种著名的图算法&#xff0c;主要用于求解有权图中的单源最短路径问题。它由荷兰计算机科学家艾兹赫尔戴克斯特…

(十)Head first design patterns组合模式(c++)

组合模式 组合模式在参考链接中已经讲得很好了&#xff0c;这里只简单讲讲就好。 组合模式的意图是表达部分-整体层次结构。 当你需要管理一个组合对象&#xff0c;又要管理这个组合对象的单个对象。这个时候就可以让这个组合对象和单个对象继承同一个基类&#xff0c;以便用…