Conda 搭建简单的机器学习 Python 环境

文章目录

Conda 概述

Conda 是一个开源的包管理系统和环境管理系统,由 Anaconda, Inc. 开发。它最初是为了支持 Python 的科学计算而创建的,但现在也可以用于其他编程语言。 Conda 提供了以下功能:

  • 包管理:Conda 可以安装、升级、卸载软件包,并自动处理依赖关系。
  • 环境管理:Conda 可以创建、管理和切换虚拟环境,以便在不同的项目中使用不同的软件包版本。
  • 平台无关性:Conda 支持多种操作系统,包括 Windows、macOS 和 Linux。
  • 开源:Conda 是开源的,任何人都可以贡献代码或提出改进意见。

Conda 使用 YAML 文件来描述环境和软件包的配置信息,这使得环境的管理和重用变得更加容易。此外,Conda 还提供了命令行工具,可以通过终端或命令提示符界面进行操作。 总的来说,Conda 是一个强大的工具,可以帮助开发者更轻松地管理和维护软件包和环境。

Conda 常用命令

Conda 文档地址:Conda Documentation --- conda-docs documentation

Conda 自身管理

查看 Conda 版本

bash 复制代码
conda --version
# or
conda -V

更新 Conda

sh 复制代码
conda update conda

清理索引缓存

sh 复制代码
conda clean -i

添加镜像源

以阿里云镜像源为例

sh 复制代码
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/free/

下面给出一些常用的镜像源

sh 复制代码
# 阿里云镜像源
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/main/
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/free/
conda config --add channels https://mirrors.aliyun.com/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.aliyun.com/anaconda/cloud/msys2/
conda config --add channels https://mirrors.aliyun.com/anaconda/cloud/pytorch/

# 清华镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/cloud/pytorch/

# 腾讯云镜像源
conda config --add channels https://mirrors.cloud.tencent.com/anaconda/pkgs/main/
conda config --add channels https://mirrors.cloud.tencent.com/anaconda/pkgs/free/
conda config --add channels https://mirrors.cloud.tencent.com/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.cloud.tencent.com/anaconda/cloud/msys2/

设置搜索时显示通道地址

sh 复制代码
conda config --set show_channel_urls yes

查看镜像源

python 复制代码
conda config --show channels

删除镜像源

sh 复制代码
conda config --remove channels https://mirrors.aliyun.com/anaconda/pkgs/free/
# 删除全部镜像源
conda config --remove-key channels

环境管理

创建虚拟环境

创建 python 版本为 3.9、名字为 env_name 的虚拟环境。

sh 复制代码
conda create -n env_name python=3.9

创建后,env_name 文件可以在 $Anaconda_HOME/envs 文件下找到。在不指定 python 版本时,自动创建最新 python 版本的虚拟环境.

删除虚拟环境

删除虚拟环境和其中所有的包:

sh 复制代码
conda remove --name env_name --all

只删除虚拟环境中的某个或者某些包:

sh 复制代码
conda remove --name env_name package_name

查看所有虚拟环境

在当前虚拟环境后会有一个 *

sh 复制代码
 conda info --envs 
 # or
 conda env list

复制虚拟环境

已有环境 ML,将其复制到环境 JW 上

sh 复制代码
conda create -n JW --clone ML

激活虚拟环境

sh 复制代码
conda activate env_name

关闭虚拟环境

sh 复制代码
conda deactivate env_name

导入、导出环境

sh 复制代码
conda env export > environment.yml	# 导出环境
conda env create -f environment.yml # 导入环境

包管理

虚拟环境下安装扩展包

在 env_name 虚拟环境下安装 package_name 包

sh 复制代码
conda activate env_name
conda install package_name

搜索、删除、更新安装包

sh 复制代码
conda search package_name
conda update package_name
conda uninstall package_name

搭建一个机器学习的 Python 环境

创建虚拟环境 ML

创建 python 版本为 3.8、名字为 ML 的虚拟环境。

sh 复制代码
conda create -n ML python=3.8

激活 ML

sh 复制代码
conda activate ML

查看虚拟环境中的包

可以看到有一些基础的包

sh 复制代码
conda list

安装所需扩展库

在使用 conda 进行安装时,加上参数 -y 可以自动确认安装过程,无需手动确认每一步。这使得安装过程更加简洁和方便。

1)spyder:集成开发环境。

sh 复制代码
conda install -y spyder

通常来说不需要再额外安装 numpy 了。因为 spyder 中已经预装了 numpy,保险起见下面都装了

2)numpy:处理数据,进行科学计算的基础软件包。

sh 复制代码
conda install -y numpy

3)pandas:用于数据分析的库,提供了高性能的数据结构和数据分析工具。

sh 复制代码
conda install -y pandas

4)scipy:基于 NumPy 的科学计算库,提供了许多数学、统计学和工程学功能。

sh 复制代码
conda install -y scipy

5)matplotlib:数据可视化。

sh 复制代码
conda install -y matplotlib

6)scikit-learn:是一个基于 NumPy,SciPy 和 matplotlib 构建的开源机器学习模块,提供了各种监督和无监督学习算法。

sh 复制代码
conda install -y scikit-learn

7)PyTorch:使用 GPU 和 CPU 优化的深度学习张量库

sh 复制代码
conda install -y PyTorch

8)jieba:中文分词工具。

sh 复制代码
conda install -c conda-forge -y jieba

9)爬虫:requests、lxml、beautifulsoup、scrapy 等。

sh 复制代码
conda install -y requests lxml beautifulsoup4 scrapy selenium
相关推荐
默_笙4 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
qq_426003964 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫4 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技4 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读4 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
猎头南楼4 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
只睡四小时4 天前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
高洁014 天前
未来三年,AI 落地的五个确定性判断一
人工智能·深度学习·机器学习·transformer·知识图谱
奇思妙想聪明勤奋的小羊4 天前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
lpfasd1234 天前
2026年第38周GitHub趋势周报
python·科技·github