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

2024-01-23 12:04

本文主要是介绍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

这篇关于Conda python管理环境environments 三 从入门到精通的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/636349

相关文章

Python文件操作与IO流的使用方式

《Python文件操作与IO流的使用方式》:本文主要介绍Python文件操作与IO流的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python文件操作基础1. 打开文件2. 关闭文件二、文件读写操作1.www.chinasem.cn 读取文件2. 写

使用Python自动化生成PPT并结合LLM生成内容的代码解析

《使用Python自动化生成PPT并结合LLM生成内容的代码解析》PowerPoint是常用的文档工具,但手动设计和排版耗时耗力,本文将展示如何通过Python自动化提取PPT样式并生成新PPT,同时... 目录核心代码解析1. 提取 PPT 样式到 jsON关键步骤:代码片段:2. 应用 JSON 样式到

python通过curl实现访问deepseek的API

《python通过curl实现访问deepseek的API》这篇文章主要为大家详细介绍了python如何通过curl实现访问deepseek的API,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编... API申请和充值下面是deepeek的API网站https://platform.deepsee

Python Selenium动态渲染页面和抓取的使用指南

《PythonSelenium动态渲染页面和抓取的使用指南》在Web数据采集领域,动态渲染页面已成为现代网站的主流形式,本文将从技术原理,环境配置,核心功能系统讲解Selenium在Python动态... 目录一、Selenium技术架构解析二、环境搭建与基础配置1. 组件安装2. 驱动配置3. 基础操作模

Python将字库文件打包成可执行文件的常见方法

《Python将字库文件打包成可执行文件的常见方法》在Python打包时,如果你想将字库文件一起打包成一个可执行文件,有几种常见的方法,具体取决于你使用的打包工具,下面就跟随小编一起了解下具体的实现方... 目录使用 PyInstaller基本方法 - 使用 --add-data 参数使用 spec 文件(

Python MCPInspector调试思路详解

《PythonMCPInspector调试思路详解》:本文主要介绍PythonMCPInspector调试思路详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录python-MCPInspector调试1-核心知识点2-思路整理1-核心思路2-核心代码3-参考网址

将图片导入Python的turtle库的详细过程

《将图片导入Python的turtle库的详细过程》在Python编程的世界里,turtle库以其简单易用、图形化交互的特点,深受初学者喜爱,随着项目的复杂度增加,仅仅依靠线条和颜色来绘制图形可能已经... 目录开篇引言正文剖析1. 理解基础:Turtle库的工作原理2. 图片格式与支持3. 实现步骤详解第

Python的pip在命令行无法使用问题的解决方法

《Python的pip在命令行无法使用问题的解决方法》PIP是通用的Python包管理工具,提供了对Python包的查找、下载、安装、卸载、更新等功能,安装诸如Pygame、Pymysql等Pyt... 目录前言一. pip是什么?二. 为什么无法使用?1. 当我们在命令行输入指令并回车时,一般主要是出现以

Python解决雅努斯问题实例方案详解

《Python解决雅努斯问题实例方案详解》:本文主要介绍Python解决雅努斯问题实例方案,雅努斯问题是指AI生成的3D对象在不同视角下出现不一致性的问题,即从不同角度看物体时,物体的形状会出现不... 目录一、雅努斯简介二、雅努斯问题三、示例代码四、解决方案五、完整解决方案一、雅努斯简介雅努斯(Janu

使用Python和SQLAlchemy实现高效的邮件发送系统

《使用Python和SQLAlchemy实现高效的邮件发送系统》在现代Web应用中,邮件通知是不可或缺的功能之一,无论是订单确认、文件处理结果通知,还是系统告警,邮件都是最常用的通信方式之一,本文将详... 目录引言1. 需求分析2. 数据库设计2.1 User 表(存储用户信息)2.2 CustomerO