环境入门之pip conda
Pip
# 查看版本
pip --version
# 安装包
pip install SomePackage # 安装最新版本
pip install SomePackage==1.0.4 # 安装指定版本
pip install 'SomePackage>=1.0.4' # 安装最低版本
# 升级包
pip install --upgrade SomePackage
# 卸载包
pip uninstall SomePackage
# 搜索包
pip search SomePackage
# 显示已安装包信息
pip show SomePackage
# 列出已安装的包
pip list
# 查看可升级的包
pip list -o
# 导出已安装包列表
pip freeze --format=freeze > requirements.txt
# 从文件安装包
pip install -r requirements.txt
# 升级pip
pip install -U pip
设置清华源
# 临时使用清华源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
# 设置全局默认清华源 C:\Users\<YourUserName>\AppData\Roaming\pip\pip.ini
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
Anaconda
Anaconda 是一个数据科学和机器学习的软件套装,它包含了许多工具和库,让您能够更轻松地进行编程、分析数据和构建机器学习模型。
Anaconda 包及其依赖项和环境的管理工具为 conda 命令,文章后面部分会详细介绍。
与传统的 Python pip 工具相比 Anaconda 的conda 可以更方便地在不同环境之间进行切换,环境管理较为简单。
为什么选择 Anaconda?
- 方便安装: 安装 Anaconda 就像安装一个应用程序一样简单,它为您预先安装好了许多常用的工具,无需单独配置。
- 包管理器: Anaconda 包含一个名为 Conda 的包管理器,用于安装、更新和管理软件包。Conda 不仅限于 Python,还支持多种其他语言的包管理。
- 环境管理: 使用 Anaconda,您可以轻松地创建和管理多个独立的 Python 环境,比如可以安装 python2 和 python3 环境,然后实现自由切换。这对于在不同项目中使用不同的库和工具版本非常有用,以避免版本冲突。
- 集成工具和库: Anaconda 捆绑了许多用于数据科学、机器学习和科学计算的重要工具和库,如 NumPy、Pandas、Matplotlib、SciPy、Scikit-learn 等。
- Jupyter 笔记本: Jupyter 是一个交互式的计算环境,支持多种编程语言,但在 Anaconda 中主要用于 Python。它允许用户创建和共享包含实时代码、方程式、可视化和叙述文本的文档。
- Spyder 集成开发环境: Anaconda 中集成了 Spyder,这是一个专为科学计算和数据分析而设计的开发环境,具有代码编辑、调试和数据可视化等功能。
- 跨平台性: Anaconda 可在 Windows、macOS 和 Linux 等操作系统上运行,使其成为一个跨平台的解决方案。
- 社区支持: Anaconda 拥有庞大的社区,用户可以在社区论坛上获取帮助、分享经验和解决问题。
简而言之,anaconda提供了强大的环境管理功能和包安装功能,这两个功能至关重要。
通常官网下载安装Python,只安装一个版本,多版本会造成冲突和混乱。而Anaconda则很好的支持了多版本,安装后默认启用base环境,里面自带了一个Python版本,base的python解释器路径在 $anaconda3/python.exe
下。可通过conda命令生成、切换、删除环境,推荐将新环境的位置设置在$anaconda3/envs
下,方便管理。
pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。(Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具)。但是pip安装包经常会出现失败的现象,不是依赖冲突爆红就是安装成功导入失败,真是让人抓狂。pip install换成conda install就可以高枕无忧,conda会自动处理各个包之间的版本冲突依赖问题,哪怕是非纯Python编写的库也能够一键安装。
conda命令操作详见官网:conda 入门 — conda 25.1.1 文档 - Conda 包管理器
Miniconda
Miniconda 是一个轻量级的 Python 发行版,只包含最基本的内容——Python 和 Conda,以及相关的必须依赖项。它适用于那些对空间要求严格的用户,因为它只包含最基本的东西,其他的库需要用户自行安装。
为什么选择Miniconda?
答案只有一个,空间占用。Anaconda 的安装包非常大,一般在 5GB 左右,因为它预装了大量的库和工具。Anaconda 预安装了数百个常用的科学计算、数据分析和机器学习等方面的包和库,如 NumPy、Pandas、SciPy、Matplotlib 等,还内置了 Jupyter Notebook 和 Spyder 等开发工具。Miniconda 则只提供了基础的 Conda 包管理器和 Python 解释器,需要用户根据实际需求手动安装所需的包。所以如果你不是必须用到base环境,我强烈建议你换成miniconda或其他。
下载安装
windows
官网下载:立即下载 | Anaconda --- Download Now | Anaconda
安装一路Next,安装位置最好改成C盘以外的盘,注意路径中不要有中文。
linux
mkdir -p ~/miniconda3 # -p 指定路径
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3 # -b 批处理模式安装 -u 覆盖更新
source ~/miniconda3/bin/activate
conda init --all
rm ~/miniconda3/miniconda.sh
设置环境变量
为什么要设置环境变量?
安装完成之后conda命令并没有在全局生效,cmd以及powershell是找不到conda命令的。右键左下角的win图标,打开终端管理员。输入conda命令,终端并不识别。此时只能通过win->全部->Anaconda PowerShell Prompt或Anaconda Prompt(以管理员身份运行)来执行conda命令,很不方便,设置环境变量后可在pycharm或vscode的终端中管理conda,无需新建窗口。
此电脑->我的属性->高级系统设置->环境变量->选中系统变量Path->编辑->新建,添加下方三个变量。配置路径根据安装位置自行修改。
D:\miniforge3
D:\miniforge3\Scripts
D:\miniforge3\Library\bin
配置清华源
官网配置:anaconda | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
通过命令行配置
# 仅显示镜像源信息
conda config --show channels
# 添加清华源
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/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/pkgs/r
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
通过文件配置
不同系统下的 .condarc
目录如下:
- Linux: ${HOME}/.condarc
- macOS: ${HOME}/.condarc
- Windows: C:\Users\<YourUserName>\.condarc
注:
* Windows 用户无法直接创建名为 .condarc
的文件,可先执行 conda config --set show_channel_urls yes
生成该文件之后再修改。
channels:- defaults
show_channel_urls: true
default_channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
envs_dirs:- D:\anaconda3\envs\
default_channels
:默认安装通道
custom_channels
:特定命名空间包的安装通道
envs_dirs
:默认环境安装地址
Conda命令
官网文档:Commands — conda 25.9.2.dev25 documentation
Conda 环境管理
# 查看环境
conda env list
# 创建环境
conda create -n env_name python=3.10 # -n, --name
conda create -n env_name python=3.10 -p D:\anaconda3\envs\env_name # 指定完整路径 -p, --prefix
# 激活环境
conda activate env_name
# 退出当前环境
conda deactivate
conda activate # 默认激活base
# 导出环境
conda env export > environment.yml
# 克隆环境
conda create -n destination --clone source # 将 source 克隆到 destination
# 删除环境
conda env remove -n env_condaname
conda remove -n env_name --all # -a, --all
Conda 包管理
# 查看已安装的包
conda list
conda list -n env_name # 指定环境
# 安装包
conda install numpy
conda install numpy -y # 确认 -y, --yes
conda install numpy=1.26.4 # 指定版本
conda install numpy -c conda-forge # 指定通道 -c, --channel
conda install numpy -n env_name # 指定环境
# 更新包
conda update numpy
conda update --all # 更新所有包
# 卸载包
conda uninstall numpy
conda uninstall numpy -n env_name # 指定环境
conda remove numpy -n env_name # 指定环境
pip uninstall numpy
# 清理缓存和无用包
conda clean --all
其他常用命令
# 初始化
conda init
# 查看帮助信息
conda --help
# 查看conda版本
conda --version
# 升级conda
conda update conda
# 搜索包
conda search package_name