
(全文约 10000 字 | 零基础友好 | 命令行全覆盖 | 场景化实战 | 代码可运行)
对 Python 开发者来说,环境管理是永远的痛点—— 不同项目需要不同的 Python 版本和依赖库,版本冲突、依赖缺失等问题层出不穷。尤其是在 LLM 开发领域,需要安装大量的依赖库(如 transformers、torch、openai 等),环境管理的难度进一步增加。
Anaconda 是专为 Python 数据科学和机器学习开发设计的环境管理工具,它能帮你:
conda 命令行工具一键安装、升级、删除依赖本文将从零基础视角出发,系统讲解 Anaconda 的安装、使用和各种命令行用法,并结合 LLM 开发场景给出实战示例。
Anaconda 是一个开源的 Python 发行版,包含了 Python 解释器、200 多个常用的 Python 数据科学和机器学习库(如 numpy、pandas、scikit-learn 等),以及 conda 环境管理和包管理工具。
conda 工具,安装包约 50MB,需要手动安装其他库如果你的电脑存储空间充足,推荐使用Anaconda;如果存储空间有限,推荐使用Miniconda。
.exe 安装包,进入安装向导D:\Anaconda3)打开「命令提示符」或「Anaconda Prompt」
输入以下命令:
conda --version # 查看 conda 版本
python --version # 查看 Python 版本
pip --version # 查看 pip 版本如果命令能正常执行并显示版本信息,则安装成功
.pkg 安装包,进入安装向导打开「Terminal」
输入以下命令:
conda --version
python --version
pip --version如果命令能正常执行并显示版本信息,则安装成功
打开「Terminal」
下载 Anaconda 安装包(以 Ubuntu 为例):
wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh执行安装脚本:
bash Anaconda3-2023.09-0-Linux-x86_64.sh按 Enter 键进入协议页面,输入 yes 同意协议
选择安装路径,按 Enter 键确认
安装完成后,输入 yes 将 Anaconda 添加到环境变量
重启 Terminal 或执行以下命令更新环境变量:
source ~/.bashrc打开「Terminal」
输入以下命令:
conda --version
python --version
pip --version如果命令能正常执行并显示版本信息,则安装成功
conda [命令] [选项] [参数]conda --help # 查看 conda 的帮助信息
conda [命令] --help # 查看特定命令的帮助信息conda --version # 查看 conda 版本
conda update conda # 更新 conda
conda update anaconda # 更新 Anaconda 所有组件
conda update python # 更新 Python 版本conda 环境管理是 Anaconda 的核心功能,用于隔离不同的 Python 环境。
# 创建名为 llm_env 的环境,使用 Python 3.11
conda create --name llm_env python=3.11
# 创建环境并安装指定的依赖库
conda create --name llm_env python=3.11 numpy pandas# Windows 系统
conda activate llm_env
# macOS/Linux 系统
source activate llm_env # Anaconda 4.4 及以下版本
conda activate llm_env # Anaconda 4.4 及以上版本conda info --envs # 查看所有环境,当前环境用 * 标记
conda env list # 查看所有环境,当前环境用 * 标记# 安装指定版本的依赖库
conda install numpy=1.25.0
# 安装多个依赖库
conda install numpy pandas scikit-learn
# 安装来自特定频道的依赖库(如 conda-forge)
conda install -c conda-forge transformers# 更新特定依赖库
conda update numpy
# 更新所有依赖库
conda update --all# 删除特定依赖库
conda remove numpy
# 删除多个依赖库
conda remove numpy pandas# 导出环境到 environment.yml 文件
conda env export --name llm_env > environment.yml
# 导出环境到 requirements.txt 文件
pip freeze > requirements.txt# 从 environment.yml 文件创建环境
conda env create --file environment.yml
# 从 requirements.txt 文件安装依赖
pip install -r requirements.txt# 删除名为 llm_env 的环境
conda env remove --name llm_env# 搜索包
conda search numpy
# 查看已安装的包
conda list
# 查看特定环境下已安装的包
conda list --name llm_env
# 安装包
conda install numpy
# 更新包
conda update numpy
# 删除包
conda remove numpyAnaconda Navigator 是 Anaconda 的可视化界面,适合不熟悉命令行的用户。
anaconda-navigatorAnaconda Navigator 内置了多个常用的开发工具:
点击左侧的「Home」进入应用管理页面,选择需要的工具,点击「Launch」启动。
# 创建名为 llm_develop 的环境,使用 Python 3.11
conda create --name llm_develop python=3.11
# 激活环境
conda activate llm_develop# 安装 openai 库
pip install openai
# 安装 transformers 库
pip install transformers
# 安装 pytorch 库(根据系统选择对应的命令)
# Windows/Linux GPU 版本
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
# macOS CPU 版本
pip3 install torch torchvision torchaudio
# 安装 langchain 库
pip install langchain
# 安装 python-dotenv 库
pip install python-dotenvimport openai
from dotenv import load_dotenv
import os
# 加载 API 密钥
load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")
# 调用 OpenAI API
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "什么是 LLM?"}]
)
# 打印结果
print(response["choices"][0]["message"]["content"])# 导出环境到 environment.yml 文件
conda env export --name llm_develop > llm_environment.yml
# 导出环境到 requirements.txt 文件
pip freeze > llm_requirements.txt# 从 environment.yml 文件创建环境
conda env create --file llm_environment.yml
# 从 requirements.txt 文件安装依赖
pip install -r llm_requirements.txtconda 频道是包的存储位置,默认使用 Anaconda 官方频道。可以添加第三方频道(如 conda-forge)来安装更多的包。
# 查看已添加的频道
conda config --show channels
# 添加 conda-forge 频道
conda config --add channels conda-forge
# 设置频道优先级
conda config --set channel_priority flexible
# 删除频道
conda config --remove channels conda-forge由于 Anaconda 官方服务器在国外,下载速度较慢,可以配置国内镜像源来提高下载速度。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
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/pytorch/
conda config --set show_channel_urls yesconda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --set show_channel_urls yesconda config --remove-key channels可以在 conda 环境中配置环境变量。
# 查看环境变量
conda env config vars list --name llm_develop
# 设置环境变量
conda env config vars set OPENAI_API_KEY=sk-xxx --name llm_develop
# 删除环境变量
conda env config vars unset OPENAI_API_KEY --name llm_develop
# 激活环境后,环境变量生效
conda activate llm_develop可以使用 conda 命令批量操作环境和包。
# 批量安装包
conda install numpy pandas scikit-learn matplotlib
# 批量更新包
conda update numpy pandas scikit-learn
# 批量删除包
conda remove numpy pandas可以锁定环境的版本,确保环境的一致性。
# 锁定环境版本
conda env export --name llm_develop --no-builds > environment.yml
# 从锁定的环境文件创建环境
conda env create --file environment.yml开发一个 LLM 语料分析系统,实现以下功能:
# 创建环境
conda create --name llm_corpus python=3.11
# 激活环境
conda activate llm_corpus
# 安装依赖
pip install pandas numpy transformers openai python-dotenv matplotlibimport pandas as pd
import re
# 读取语料
corpus = pd.read_csv("电商评论语料.csv")
# 清洗语料
def clean_corpus(text):
# 去除特殊字符
text = re.sub(r"[^\u4e00-\u9fa5a-zA-Z0-9]", "", text)
# 去除空白字符
text = text.strip()
return text
corpus["clean_content"] = corpus["content"].apply(clean_corpus)
# 保存清洗后的语料
corpus.to_csv("清洗后的语料.csv", index=False)import openai
from dotenv import load_dotenv
import os
# 加载 API 密钥
load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")
def sentiment_analysis(text):
prompt = f"请分析以下评论的情感倾向,只返回'正面'或'负面':\n{text}"
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": prompt}]
)
return response["choices"][0]["message"]["content"].strip()
# 测试情感分析
corpus["sentiment"] = corpus["clean_content"].apply(sentiment_analysis)
# 保存分析结果
corpus.to_csv("情感分析结果.csv", index=False)import matplotlib.pyplot as plt
# 统计情感分布
sentiment_count = corpus["sentiment"].value_counts()
# 绘制饼图
plt.pie(sentiment_count.values, labels=sentiment_count.index, autopct="%1.1f%%")
plt.title("评论情感分布")
plt.savefig("情感分布.png")
plt.show()清洗后的语料.csv情感分析结果.csv情感分布.png问题:安装 Anaconda 时提示「Installation failed」。解决方案:
问题:在命令行中输入 conda 命令时提示「'conda' is not recognized as an internal or external command」。解决方案:
问题:在 Windows 系统中激活环境时提示「CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'」。解决方案:
activate llm_env 命令问题:安装依赖库时下载速度非常慢。解决方案:
--timeout 参数增加超时时间pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package_name问题:安装依赖库时提示版本冲突。解决方案:
conda install package_name=version 安装特定版本conda list --revisions 查看环境的历史版本,使用 conda install --revision n 回滚到指定版本为每个项目创建独立的环境,可以避免版本冲突,提高项目的可维护性。
使用环境.yml 文件记录环境的配置信息,可以确保在不同的机器上复现相同的环境。
定期更新 conda 和依赖库,可以获得最新的功能和安全修复。
conda-forge 频道包含了更多的包和更新的版本,推荐使用。
虽然 conda 可以安装大多数的包,但有些包只能通过 pip 安装,推荐结合使用。
Anaconda 是Python 数据科学和机器学习开发的标准环境管理工具,它解决了 Python 开发中的环境管理和依赖安装问题。在 LLM 开发领域,Anaconda 更是不可或缺的工具,它能帮助开发者快速构建和管理 LLM 开发环境,提高开发效率。
通过本文的学习,你已经掌握了 Anaconda 的安装、使用和各种命令行用法,并结合 LLM 开发场景给出了实战示例。在实际开发中,要遵循 Anaconda 的最佳实践,为每个项目创建独立的环境,使用环境.yml 文件记录环境配置,定期更新 conda 和依赖库。
随着 LLM 技术的不断发展,Anaconda 也将不断更新和完善,为 LLM 开发提供更好的支持。