anaconda常用命令

本文参考:

https://blog.csdn.net/chenxy_bwave/article/details/119996001
https://zhuanlan.zhihu.com/p/600930786
https://blog.csdn.net/d8958/article/details/131499072
https://blog.csdn.net/m0_57236802/article/details/131839362
https://blog.csdn.net/Natsuago/article/details/143212047

conda简介

Anaconda 是一个用于数据科学和机器学习的软件套装,包含了许多工具和库。以下是一些常用的 Anaconda 命令。

conda命令的一些选项开关有两种指定方式,一种两个连接号“–”后跟选项名全程,一种是一个连接号“-”后跟简称。比如说"-n"和"–name"是等价的。但是要注意有些例外,比如说,“–version”对应的是“-V”(大写的V而不是小写的v)。

使用终端命令

打开Anaconda Prompt 或 Anaconda Powershell Prompt

创建和删除虚拟环境
使用 conda create 命令可以创建一个新的虚拟环境。
以下命令会创建一个名为 env_name 的虚拟环境,并指定 Python 版本为 3.8
如果我们没有指定安装python的版本,conda会安装我们最初安装conda时所装的那个版本的python

conda create --name env_name python=3.8

删除名为 env_name 的虚拟环境:

conda remove --name env_name --all

复制名为 env_name 的虚拟环境:

conda create --name env_name_old --clone env_name_new

查看当前虚拟环境列表

conda env list

所显示的列表中,前面带星号“*“的表示当前活动环境。

激活和退出虚拟环境
使用 conda activate 命令激活虚拟环境,使用 conda deactivate 命令退出当前环境。

conda activate env_name 
conda deactivate

查看已安装的包
使用 conda list 命令查看当前环境下已安装的所有软件包及其版本。

conda list

安装和卸载包

指定虚拟环境名进行装包

conda install -n env_name package_name

激活虚拟环境,并在该虚拟环境下安装和卸载包

conda activate env_name
conda install package_name
conda remove package_name

安装指定版本号的包

conda install peckage_name==x.x

更新包

conda update peckage_name

查看python版本

python --version

通过pip安装包

pip install peckage_name

更新 conda 和 Anaconda
使用以下命令更新 conda 和 Anaconda 到最新版本。

conda update conda
conda update anaconda

换源
查看当前配置的所有源(channels)

conda config --show channels

添加国内源

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 --set show_channel_urls yes

删除源

conda config --remove channels <镜像源地址>

恢复为默认源

conda config --remove-key channels

使用图形界面

在这里插入图片描述

为什么要使用conda?

在企业开发中,我们经常需要同时管理多个项目,而这些项目可能依赖不同的Python环境或第三方库。使用Conda虚拟环境可以有效隔离不同项目的运行环境,避免冲突,具体体现在以下两方面:

  1. Python版本隔离 不同项目可能需要不同版本的Python(如3.5、3.6、3.7等)。通过Conda虚拟环境,可以为每个项目创建独立的Python环境,确保项目运行在所需的版本上。

  2. 依赖库隔离 即使项目使用相同版本的Python,它们依赖的第三方库(如PyTorch、TensorFlow)及其版本可能不同。若将所有库安装在同一环境中,可能会因依赖冲突导致某些项目无法运行。例如:
    项目A依赖PyTorch,项目B依赖TensorFlow,两者可能对底层库(如NumPy、CUDA)的版本要求不同。
    在统一环境中安装TensorFlow时,可能会覆盖PyTorch所需的依赖,导致PyTorch项目运行失败。

通过为每个项目创建独立的虚拟环境,可以确保各项目的依赖库互不干扰,新项目的环境更新不会影响旧项目的稳定性。

conda install 和 pip install 有什么区别?

对比项conda installpip install
包管理范围可管理 Python 和非 Python 包(如 C 库)仅管理 Python 包
使用范围只能在 conda 管理的环境中使用可在任何 Python 环境中使用
环境管理自带环境管理功能需依赖 virtualenv 等工具
安装方式预编译二进制文件,安装快Wheel 或源码,安装较慢
依赖管理安装时自动处理依赖(包括非 Python 依赖),卸载时会递归移除依赖包安装时不处理 Python 以外的依赖,卸载时仅移除指定包,不处理依赖
包缓存机制全局缓存,可复用已下载的包直接安装到当前环境
卸载方式可用 conda 或 pip 卸载(但 pip 不处理依赖)只能用 pip 卸载
PyPI 兼容性绝大部分兼容,部分包需通过 pip 安装100% 兼容

conda的包安装在哪里?

conda install xxx:这种方式安装的库都会放在anaconda3/pkgs目录下,这样的好处就是,当在某个环境下已经下载好了某个库,再在另一个环境中还需要这个库时,就可以直接从pkgs目录下将该库复制至新环境而不用重复下载。
pip install xxx:分两种情况,一种情况就是当前conda环境的python是conda安装的,和系统的不一样,那么xxx会被安装到anaconda3/envs/current_env/lib/python3.x/site-packages文件夹中,如果当前conda环境用的是系统的python,那么xxx会通常会被安装到~/.local/lib/python3.x/site-packages文件夹中

conda和venv虚拟环境有什么区别?

跨平台和语言支持:虽然Python的虚拟环境专为Python设计,但Conda是一个跨语言的包管理器,它可以管理Python以外的其他语言(如R、Ruby、Lua、Scala、Java、JavaScript、C/ C++、FORTRAN等)的包。此外,Conda是跨平台的,可以在Linux、macOS和Windows上运行。

包管理:Python的虚拟环境依赖于Python的包管理器pip来安装Python包,而Conda有自己的包管理系统,可以安装Conda包。Conda包可以包含非Python的依赖(如C库),这在pip中是不可能的。

环境管理:Conda提供了一些额外的环境管理功能,如克隆环境(conda create --clone)和导出环境到一个文件(conda env export),这在Python的虚拟环境中是不可能的。

性能:由于Conda包可以包含预编译的二进制代码,因此安装Conda包通常比安装pip包更快,特别是对于包含大量C代码的包。

包安装位置
venv 创建的虚拟环境会在项目目录下生成一个文件夹(通常叫 venv 或自定义名称),所有安装的第三方包都存放在该环境的 site-packages 目录中。路径结构示例:
my_venv/ # 虚拟环境目录
├── Scripts/ # 激活脚本(Windows)
├── bin/ # 激活脚本(Linux/macOS)
└── Lib/
└── site-packages/ # 所有安装的第三方包(Windows)

conda 的所有环境和包默认存储在 conda 的安装目录下的 envs/ 文件夹中。
conda_base/ # conda 安装根目录
├── envs/ # 所有虚拟环境
│ └── my_conda_env/ # 你的 conda 环境
│ ├── bin/ # 可执行文件(Linux/macOS)
│ ├── Scripts/ # 可执行文件(Windows)
│ └── lib/
│ └── python3.9/
│ └── site-packages/ # 包的软链接
└── pkgs/ # 全局包缓存(所有环境的包实际存储在这里)

总结:
venv:包完全隔离,适合轻量级项目,但占用更多空间。
conda:包全局缓存 + 软链接,适合科学计算,节省空间且依赖管理更强。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值