Conda命令整理

devtools/2025/2/12 8:21:17/

Conda 是一个功能强大的包和环境管理工具,广泛用于 Python 开发中。除了基本的包和环境管理功能外,Conda 还提供了许多高级用法和技巧,帮助用户更高效地管理和维护 Python 环境。

1. 管理 Conda 本身

命令描述示例
conda --version查看 Conda 版本conda --version
conda update conda更新 Condaconda update conda
conda config --show查看 Conda 配置conda config --show

2. 管理环境

命令描述示例
conda env list列出所有环境conda env list
conda create -n <env_name>创建新环境conda create -n myenv
conda activate <env_name>激活环境conda activate myenv
conda deactivate退出当前环境conda deactivate
conda remove -n <env_name> --all删除环境conda remove -n myenv --all

3. 包管理

命令描述示例
conda list列出当前环境中的包conda list
conda install <package_name>安装包conda install numpy
conda install <package_name>=<version>安装指定版本的包conda install numpy=1.21.0
conda update <package_name>更新包conda update numpy
conda remove <package_name>卸载包conda remove numpy

4. 环境导出与创建

命令描述示例
conda env export > environment.yml导出环境配置conda env export > environment.yml
conda env create -f environment.yml从文件创建环境conda env create -f environment.yml

5. 设置镜像源

命令描述示例
conda config --add channels <channel_url>添加镜像源conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes显示通道 URLconda config --set show_channel_urls yes

6. 清理缓存

命令描述示例
conda clean -p清理未使用的包缓存conda clean -p
conda clean -t清理 tar 包缓存conda clean -t
conda clean -y --all清理所有缓存conda clean -y --all

7. 高级用法和技巧

  • 环境克隆:当你已经配置好了一个复杂的环境,不想在新项目中重新配置时,可以使用环境克隆功能。假设你有一个名为 source_env 的环境,想要克隆到一个新的环境 new_env,可以使用以下命令:

    conda create --name new_env --clone source_env
    

    这将创建一个与 source_env 完全相同的新环境 new_env

  • 导出和导入环境:你可以将一个环境的配置信息导出到一个 YAML 文件中,以便在其他机器上或者在未来重新创建这个环境。导出环境的命令如下:

    conda env export > environment.yml
    

    要导入这个环境,可以使用以下命令:

    conda env create -f environment.yml
    

    这对于在不同机器之间共享环境配置非常有用。

  • 管理多个渠道:Conda 默认使用 Anaconda 渠道来获取软件包,但有时候你可能需要从其他渠道获取特定的软件包。你可以添加新的渠道,例如:

    conda config --add channels conda-forge
    

    可以查看当前配置的渠道:

    conda config --show channels
    

    并且可以删除不需要的渠道:

    conda config --remove channels conda-forge
    
  • 使用 Conda-Build 构建软件包:如果你需要创建自己的 Conda 软件包,可以使用 Conda-Build 工具。请按照以下步骤操作:

  1. 安装 conda-build 工具:首先,确保已安装 conda-build。如果尚未安装,可以使用以下命令进行安装:

    conda install conda-build
    
  2. 创建构建配方(Recipe):在一个目录中创建构建配方,通常包含以下文件:

    • meta.yaml:描述包的元数据,如名称、版本、依赖关系等。
    • build.sh:用于 Unix 系统的构建脚本,包含构建和安装指令。
    • bld.bat:用于 Windows 系统的构建脚本,包含构建和安装指令。

    例如,meta.yaml 文件的内容可能如下:

    package:name: mypackageversion: 0.1source:path: ./path_to_sourcebuild:number: 0requirements:build:- python- setuptoolsrun:- python- numpytest:commands:- python -c "import mypackage"about:home: https://github.com/username/mypackagelicense: MITsummary: 'A brief description of my package'
    

    build.sh 中,通常包含以下内容:

    #!/bin/bash$PYTHON setup.py install --single-version-externally-managed --record=record.txt
    

    请根据实际情况调整上述文件内容。

  3. 构建软件包:在包含上述构建配方的目录中,运行以下命令进行构建:

    conda build .
    

    构建成功后,生成的 .tar.bz2 包文件将位于 conda-bld 目录下。

  4. 安装构建的软件包:可以使用以下命令在本地安装构建的软件包:

    conda install --use-local mypackage
    

    这将从本地构建的包中安装 mypackage

  5. 上传软件包到 Anaconda Cloud:如果希望将构建的软件包上传到 Anaconda Cloud,以便他人使用,可以使用以下命令:

    anaconda upload /path/to/conda-bld/osx-64/mypackage-0.1-py38_0.tar.bz2
    

    请将 /path/to/conda-bld/osx-64/mypackage-0.1-py38_0.tar.bz2 替换为实际的包文件路径。


http://www.ppmy.cn/devtools/158153.html

相关文章

大模型基本原理(二)——ChatGPT的工作原理

如何得到一个ChatGPT&#xff1f; 1、无监督预训练&#xff1a;通过大量的文本数据集进行无监督训练&#xff0c;得到一个基座模型&#xff08;只会续写文本&#xff09; 2、监督微调&#xff1a;通过一些人类撰写的高质量对话数据对基座模型进行监督微调&#xff0c;得到一个…

Vue3(1)

一.create-vue // new Vue() 创建一个应用实例 > createApp() // createRouter() createStore() // 将创建实例进行了封装&#xff0c;保证每个实例的独立封闭性import { createApp } from vue import App from ./App.vue// mount 设置挂载点 #app (id为app的盒子) createA…

01docker run

docker run 用于从镜像创建并启动容器。下面是一些常用的选项&#xff1a; -d: 让容器在后台运行&#xff0c;即以守护进程模式运行。--name: 给容器指定一个名称&#xff0c;便于识别和管理。-p: 将宿主机的端口映射到容器内的端口&#xff0c;实现网络通信。-e: 设置环境变量…

SQL-leetcode—1393. 股票的资本损益

1393. 股票的资本损益 Stocks 表&#xff1a; ---------------------- | Column Name | Type | ---------------------- | stock_name | varchar | | operation | enum | | operation_day | int | | price | int | ---------------------- (stock_name, operation_day) 是这张…

C语言基础系列【9】常见存储类型介绍

博主介绍&#xff1a;程序喵大人 35- 资深C/C/Rust/Android/iOS客户端开发10年大厂工作经验嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手《C20高级编程》《C23高级编程》等多本书籍著译者更多原创精品文章&#xff0c;首发gzh&#xff0c;见文末&#x1f447;&#x1f…

嵌入式工程师面试经验分享与案例解析

嵌入式工程师岗位受到众多求职者的关注。面试流程严格&#xff0c;技术要求全面&#xff0c;涵盖C/C编程、数据结构与算法、操作系统、嵌入式系统开发、硬件驱动等多个方向。本文将结合真实案例&#xff0c;深入剖析嵌入式工程师的面试流程、常见问题及应对策略&#xff0c;帮助…

Spring中常见的设计模式

Spring框架是一个庞大的生态系统&#xff0c;设计模式的应用广泛分布在其各个模块中。以下是针对你提到的设计模式&#xff0c;在Spring源码中的具体应用位置&#xff1a; 单例模式&#xff08;Singleton Pattern&#xff09;&#xff1a; 在org.springframework.beans.factory…

什么是动态路由和嵌套路由?

动态路由和嵌套路由是 Vue Router 中的两个重要概念,它们可以帮助构建复杂的单页应用程序(SPA)。以下是对这两个概念的详细解释: 一、动态路由 定义 动态路由是指根据特定条件或参数动态生成的路由。它允许你在运行时根据 URL 中的参数或其他条件加载不同的组件。 使用…