BenChuat

Background
跳过正文

Anaconda 常用指令和示例指南

·2982 字·6 分钟
作者
BenChuat
A little bit about BenChuat.
目录

Anaconda 常用指令和示例指南
#

一、环境管理
#

1.1 创建环境
#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 创建指定Python版本的环境
conda create -n 环境名 python=3.9

# 创建环境并指定Python版本和包
conda create -n 环境名 python=3.9 numpy pandas

# 从environment.yml文件创建环境
conda env create -f environment.yml

# 克隆现有环境
conda create -n 新环境名 --clone 旧环境名

示例

1
2
3
4
5
# 创建FedDG-MoE项目环境
conda create -n feddg python=3.9.7

# 创建包含常用包的环境
conda create -n ml_env python=3.9 numpy pandas matplotlib scikit-learn

1.2 激活/停用环境
#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# 激活环境
conda activate 环境名

# 停用环境(返回base环境)
conda deactivate

# Windows PowerShell中激活
conda activate 环境名

# Linux/Mac中激活
source activate 环境名  # 旧版本
conda activate 环境名    # 新版本

示例

1
2
3
4
5
# 激活FedDG-MoE环境
conda activate feddg

# 停用当前环境
conda deactivate

1.3 查看环境
#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 查看所有环境
conda env list
# 或
conda info --envs

# 查看当前环境信息
conda info

# 查看当前环境的Python路径
which python  # Linux/Mac
where python  # Windows

示例

1
2
3
4
5
6
# 查看所有环境
conda env list
# 输出:
# base                  *  C:\Users\username\anaconda3
# feddg                    C:\Users\username\anaconda3\envs\feddg
# pytorch                   C:\Users\username\anaconda3\envs\pytorch

1.4 删除环境
#

1
2
3
4
5
# 删除指定环境
conda env remove -n 环境名

# 删除环境(另一种方式)
conda remove -n 环境名 --all

示例

1
2
# 删除feddg环境
conda env remove -n feddg

1.5 导出/导入环境
#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 导出当前环境到yml文件
conda env export > environment.yml

# 导出环境(不包含构建信息)
conda env export --no-builds > environment.yml

# 导出环境(只包含conda包,不包含pip包)
conda list --export > requirements.txt

# 从yml文件创建环境
conda env create -f environment.yml

# 更新现有环境
conda env update -f environment.yml --prune

示例

1
2
3
4
5
6
# 导出FedDG-MoE环境
conda activate feddg
conda env export > feddg_environment.yml

# 在另一台机器上创建相同环境
conda env create -f feddg_environment.yml

二、包管理
#

2.1 安装包
#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# 使用conda安装包
conda install 包名

# 安装指定版本
conda install 包名=版本号

# 从指定channel安装
conda install -c channel名 包名

# 使用pip安装(当conda没有该包时)
pip install 包名

# 安装多个包
conda install 包1 包2 包3

# 从requirements.txt安装
pip install -r requirements.txt

示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 安装PyTorch(从PyTorch官方channel)
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

# 安装numpy和pandas
conda install numpy pandas

# 安装指定版本的numpy
conda install numpy=1.20.3

# 使用pip安装timm
pip install timm

2.2 查看已安装的包
#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 查看当前环境所有包
conda list

# 查看指定包
conda list 包名

# 查看包信息
conda info 包名

# 搜索包
conda search 包名

示例

1
2
3
4
5
6
7
8
# 查看所有包
conda list

# 查看numpy相关信息
conda list numpy

# 搜索PyTorch可用版本
conda search pytorch

2.3 更新包
#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 更新指定包
conda update 包名

# 更新所有包
conda update --all

# 更新conda本身
conda update conda

# 更新anaconda
conda update anaconda

示例

1
2
3
4
5
# 更新numpy
conda update numpy

# 更新所有包(谨慎使用)
conda update --all

2.4 卸载包
#

1
2
3
4
5
6
7
8
# 卸载包
conda remove 包名

# 卸载多个包
conda remove 包1 包2 包3

# 使用pip卸载
pip uninstall 包名

示例

1
2
3
4
5
# 卸载numpy
conda remove numpy

# 使用pip卸载
pip uninstall timm

三、常用操作
#

3.1 清理缓存
#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 清理未使用的包和缓存
conda clean --all

# 清理索引缓存
conda clean --index-cache

# 清理包缓存
conda clean --packages

# 清理tar包
conda clean --tarballs

示例

1
2
# 清理所有缓存(释放磁盘空间)
conda clean --all

3.2 配置管理
#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 查看配置
conda config --show

# 添加channel
conda config --add channels channel名

# 设置channel优先级
conda config --set channel_priority strict

# 显示channel列表
conda config --show channels

# 移除channel
conda config --remove channels channel名

示例

1
2
3
4
5
6
7
8
# 添加conda-forge channel
conda config --add channels conda-forge

# 添加PyTorch channel
conda config --add channels pytorch

# 查看所有channel
conda config --show channels

3.3 查看帮助
#

1
2
3
4
5
6
7
# 查看conda帮助
conda --help

# 查看子命令帮助
conda install --help
conda create --help
conda env --help

四、项目实战示例
#

4.1 FedDG-MoE项目环境搭建
#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 1. 创建环境
conda create -n feddg python=3.9.7

# 2. 激活环境
conda activate feddg

# 3. 安装PyTorch(根据CUDA版本选择)
# CUDA 11.8
conda install pytorch==1.11.0 torchvision==0.12.0 torchaudio -c pytorch

# 或CPU版本
conda install pytorch==1.11.0 torchvision==0.12.0 torchaudio cpuonly -c pytorch

# 4. 安装其他依赖
conda install numpy=1.20.3
pip install timm
pip install tensorboard
pip install tqdm
pip install einops

# 5. 验证安装
python -c "import torch; print(torch.__version__)"
python -c "import timm; print('timm installed')"

# 6. 导出环境(可选)
conda env export > feddg_environment.yml

4.2 常见深度学习环境
#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# PyTorch环境
conda create -n pytorch python=3.9
conda activate pytorch
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

# TensorFlow环境
conda create -n tensorflow python=3.9
conda activate tensorflow
conda install tensorflow-gpu

# Jupyter环境
conda create -n jupyter python=3.9
conda activate jupyter
conda install jupyter notebook jupyterlab

4.3 环境迁移
#

1
2
3
4
5
6
7
# 在源机器上导出环境
conda activate 环境名
conda env export > environment.yml

# 在目标机器上创建环境
conda env create -f environment.yml
conda activate 环境名

五、Jupyter Notebook集成
#

5.1 在环境中安装Jupyter
#

1
2
3
4
5
6
7
8
# 激活环境
conda activate 环境名

# 安装Jupyter
conda install jupyter notebook jupyterlab

# 或使用pip
pip install jupyter notebook jupyterlab

5.2 配置Jupyter Kernel
#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# 安装ipykernel
conda install ipykernel
# 或
pip install ipykernel

# 将环境添加到Jupyter
python -m ipykernel install --user --name 环境名 --display-name "显示名称"

# 查看已安装的kernel
jupyter kernelspec list

# 删除kernel
jupyter kernelspec uninstall 环境名

示例

1
2
3
4
# 将feddg环境添加到Jupyter
conda activate feddg
conda install ipykernel
python -m ipykernel install --user --name feddg --display-name "FedDG-MoE (Python 3.9)"

六、常见问题解决
#

6.1 环境激活失败
#

1
2
3
4
5
6
7
8
# Windows PowerShell执行策略问题
# 以管理员身份运行PowerShell,执行:
Set-ExecutionPolicy RemoteSigned

# 初始化conda(如果激活命令不存在)
conda init powershell  # PowerShell
conda init cmd.exe     # CMD
conda init bash        # Linux/Mac

6.2 包安装失败
#

1
2
3
4
5
6
7
8
9
# 清理缓存后重试
conda clean --all
conda install 包名

# 使用conda-forge channel
conda install -c conda-forge 包名

# 使用pip作为备选
pip install 包名

6.3 环境冲突
#

1
2
3
4
5
# 查看冲突信息
conda install 包名 --dry-run

# 创建新环境避免冲突
conda create -n 新环境名 python=版本号

6.4 磁盘空间不足
#

1
2
3
4
5
# 清理未使用的包
conda clean --all

# 删除不需要的环境
conda env remove -n 环境名

七、常用快捷命令
#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
# 快速创建并激活环境
conda create -n 环境名 python=3.9 && conda activate 环境名

# 查看环境路径
conda info --envs

# 查看conda版本
conda --version

# 查看Python版本
python --version

# 查看pip版本
pip --version

# 升级pip
python -m pip install --upgrade pip

# 查看已安装包列表并保存到文件
conda list > packages.txt
pip list > pip_packages.txt

八、最佳实践
#

8.1 环境命名规范
#

  • 使用项目名称:feddg, project_name
  • 使用用途描述:ml_env, data_science
  • 包含Python版本:py39_feddg

8.2 环境管理建议
#

  1. 一个项目一个环境:避免包冲突
  2. 定期导出环境:方便迁移和复现
  3. 使用requirements.txt:记录pip安装的包
  4. 定期清理:释放磁盘空间
  5. 版本锁定:生产环境锁定包版本

8.3 包安装建议
#

  1. 优先使用conda:conda能更好地处理依赖关系
  2. pip作为补充:conda没有的包使用pip
  3. 避免混用:尽量在同一环境内统一使用conda或pip
  4. 记录版本:在requirements.txt中记录版本号

九、实用脚本示例
#

9.1 快速创建项目环境脚本
#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
#!/bin/bash
# create_env.sh

ENV_NAME=$1
PYTHON_VERSION=${2:-3.9}

echo "Creating environment: $ENV_NAME with Python $PYTHON_VERSION"
conda create -n $ENV_NAME python=$PYTHON_VERSION -y
conda activate $ENV_NAME

echo "Installing common packages..."
conda install numpy pandas matplotlib jupyter -y
pip install tqdm

echo "Environment $ENV_NAME created successfully!"

使用方法

1
bash create_env.sh myproject 3.9

9.2 导出环境脚本
#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
#!/bin/bash
# export_env.sh

ENV_NAME=$1
if [ -z "$ENV_NAME" ]; then
    echo "Usage: export_env.sh <env_name>"
    exit 1
fi

conda activate $ENV_NAME
conda env export > ${ENV_NAME}_environment.yml
conda list > ${ENV_NAME}_packages.txt
pip freeze > ${ENV_NAME}_requirements.txt

echo "Environment $ENV_NAME exported successfully!"

十、参考资源
#


提示

  • 在Windows上,建议使用Anaconda Prompt或PowerShell
  • 在Linux/Mac上,可以直接在终端使用
  • 遇到问题时,先查看conda --help或相关命令的--help选项