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

2024-01-22 12:20

本文主要是介绍Conda python管理环境environments 二 从入门到精通,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Conda系列:

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

1. 指定环境environment的位置

可以通过提供路径来控制 conda 环境所在的位置 复制到目标目录。例如 以下命令将在子目录中创建一个新环境 envs 为当前工作目录称:

conda create --prefix ./envs jupyterlab=3.2 matplotlib=3.5 numpy=1.21

然后,使用前缀激活使用前缀创建的环境 用于激活按名称创建的环境的命令:

conda activate ./envs

指定项目目录的子目录的路径,当 创建环境具有以下好处:

  • 它可以很容易地判断您的项目是否使用隔离环境 通过将环境作为子目录包含在内。
  • 它使您的项目更加独立,包括 所需的软件包含在单个项目目录中。

在 子目录是,然后你可以对所有你的 环境。如果您将所有环境都保留在 envs文件夹中,您必须为每个环境指定不同的名称。

放置 conda 环境时需要注意一些事项 在默认文件夹envs之外。

  1. Conda 无法再找到带有--name该标志的环境。 您通常需要将标志--prefix与 environment 的完整路径来查找环境。
  2. 在创建 conda 环境时指定安装路径 使命令提示符现在以活动状态为前缀 环境的绝对路径,而不是环境的名称。

使用前缀激活环境后,您的提示将 类似于以下内容:

(/absolute/path/to/envs) $

这可能会导致前缀过长:

(/Users/USER_NAME/research/data-science/PROJECT_NAME/envs) $

若要在 shell 提示符中删除此长前缀,请修改env_prompt 在.condarc文件中设置:

conda config --set env_prompt '({name})'

如果您已经有一个文件.condarc,这将编辑您的文件.condarc 或者,如果没有,请创建一个文件。

现在,您的命令提示符将显示活动环境的 通用名称,即环境根文件夹的名称:

$ cd project-directory
$ conda activate ./env
(env) project-directory $

2. 更新环境environment

出于各种原因,您可能需要更新环境。 例如,可能的情况是:

  • 您的一个核心依赖项刚刚发布了一个新版本 (依赖项版本号更新)。
  • 您需要一个额外的数据包来进行数据分析 (添加新的依赖项)。
  • 您已经找到了更好的软件包,不再需要旧的 包(添加新依赖项并删除旧依赖项)。

如果发生其中任何一种情况,您需要做的就是更新 您的文件environment.yml,然后运行以下命令 命令:

conda env update --file environment.yml --prune

Note注意
该选项--prune会导致 conda 删除任何依赖项 环境不再需要的。

3. Cloning an environment克隆环境

使用终端执行以下步骤:

您可以通过创建克隆来创建环境的精确副本 其中:

conda create --name myclone --clone myenv

Note注意
替换myclone为新环境的名称。 替换myenv为现有环境的名称。

要验证副本是否已制作,请执行以下操作:

conda info --envs

在显示的环境列表中,您应该会看到 源环境和新副本。

4. 构建相同的 conda 环境

您可以使用显式规范文件来构建相同的 conda 环境位于同一操作系统平台上,或者 在同一台机器或另一台机器上。

使用终端执行以下步骤:

  1. 运行conda list --explicit以生成规范列表,例如:
# This file may be used to create an environment using:
# $ conda create --name <env> --file <this file>
# platform: osx-64
@EXPLICIT
https://repo.anaconda.com/pkgs/free/osx-64/mkl-11.3.3-0.tar.bz2
https://repo.anaconda.com/pkgs/free/osx-64/numpy-1.11.1-py35_0.tar.bz2
https://repo.anaconda.com/pkgs/free/osx-64/openssl-1.0.2h-1.tar.bz2
https://repo.anaconda.com/pkgs/free/osx-64/pip-8.1.2-py35_0.tar.bz2
https://repo.anaconda.com/pkgs/free/osx-64/python-3.5.2-0.tar.bz2
https://repo.anaconda.com/pkgs/free/osx-64/readline-6.2-2.tar.bz2
https://repo.anaconda.com/pkgs/free/osx-64/setuptools-25.1.6-py35_0.tar.bz2
https://repo.anaconda.com/pkgs/free/osx-64/sqlite-3.13.0-0.tar.bz2
https://repo.anaconda.com/pkgs/free/osx-64/tk-8.5.18-0.tar.bz2
https://repo.anaconda.com/pkgs/free/osx-64/wheel-0.29.0-py35_0.tar.bz2
https://repo.anaconda.com/pkgs/free/osx-64/xz-5.2.2-0.tar.bz2
https://repo.anaconda.com/pkgs/free/osx-64/zlib-1.2.8-3.tar.bz2
  1. 将此packages列表创建为当前工作中的文件 目录中,运行:
conda list --explicit > spec-file.txt

Note注意
您可以用作spec-file.txt文件名或替换 它带有您选择的文件名。

显式规范文件通常不是跨平台的,并且 因此在顶部有一个注释,例如# platform: osx-64 显示创建它的平台。这个平台是 已知此规范文件可以工作的地方。在其他平台上, 指定的包可能不可用或依赖项 对于中已有的某些关键包,可能缺少 规范。

要使用 spec 文件在 同一台机器或另一台机器:

conda create --name myenv --file spec-file.txt

要使用 spec 文件将其列出的软件包安装到 现有环境:

conda install --name myenv --file spec-file.txt

Conda 在安装时不检查体系结构或依赖项 从规范文件。为确保软件包正常工作, 确保文件是从工作环境创建的, 并在相同的架构、操作系统和 平台,例如 Linux-64 或 OSX-64。

参考

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

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



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

相关文章

使用Python绘制蛇年春节祝福艺术图

《使用Python绘制蛇年春节祝福艺术图》:本文主要介绍如何使用Python的Matplotlib库绘制一幅富有创意的“蛇年有福”艺术图,这幅图结合了数字,蛇形,花朵等装饰,需要的可以参考下... 目录1. 绘图的基本概念2. 准备工作3. 实现代码解析3.1 设置绘图画布3.2 绘制数字“2025”3.3

python使用watchdog实现文件资源监控

《python使用watchdog实现文件资源监控》watchdog支持跨平台文件资源监控,可以检测指定文件夹下文件及文件夹变动,下面我们来看看Python如何使用watchdog实现文件资源监控吧... python文件监控库watchdogs简介随着Python在各种应用领域中的广泛使用,其生态环境也

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

Java调用Python代码的几种方法小结

《Java调用Python代码的几种方法小结》Python语言有丰富的系统管理、数据处理、统计类软件包,因此从java应用中调用Python代码的需求很常见、实用,本文介绍几种方法从java调用Pyt... 目录引言Java core使用ProcessBuilder使用Java脚本引擎总结引言python

python 字典d[k]中key不存在的解决方案

《python字典d[k]中key不存在的解决方案》本文主要介绍了在Python中处理字典键不存在时获取默认值的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录defaultdict:处理找不到的键的一个选择特殊方法__missing__有时候为了方便起见,

使用Python绘制可爱的招财猫

《使用Python绘制可爱的招财猫》招财猫,也被称为“幸运猫”,是一种象征财富和好运的吉祥物,经常出现在亚洲文化的商店、餐厅和家庭中,今天,我将带你用Python和matplotlib库从零开始绘制一... 目录1. 为什么选择用 python 绘制?2. 绘图的基本概念3. 实现代码解析3.1 设置绘图画

Python pyinstaller实现图形化打包工具

《Pythonpyinstaller实现图形化打包工具》:本文主要介绍一个使用PythonPYQT5制作的关于pyinstaller打包工具,代替传统的cmd黑窗口模式打包页面,实现更快捷方便的... 目录1.简介2.运行效果3.相关源码1.简介一个使用python PYQT5制作的关于pyinstall

使用Python实现大文件切片上传及断点续传的方法

《使用Python实现大文件切片上传及断点续传的方法》本文介绍了使用Python实现大文件切片上传及断点续传的方法,包括功能模块划分(获取上传文件接口状态、临时文件夹状态信息、切片上传、切片合并)、整... 目录概要整体架构流程技术细节获取上传文件状态接口获取临时文件夹状态信息接口切片上传功能文件合并功能小

python实现自动登录12306自动抢票功能

《python实现自动登录12306自动抢票功能》随着互联网技术的发展,越来越多的人选择通过网络平台购票,特别是在中国,12306作为官方火车票预订平台,承担了巨大的访问量,对于热门线路或者节假日出行... 目录一、遇到的问题?二、改进三、进阶–展望总结一、遇到的问题?1.url-正确的表头:就是首先ur

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步