首先, 选择 Anaconda3 还是 Miniconda 主要取决于您的具体需求和使用场景。
Anaconda3 vs Miniconda 对比
Anaconda3 | Miniconda | |
---|---|---|
安装包大小 | 大(~500MB) | 小(~30MB) |
包含包数量 | 1500+ | 基本包(Conda, Python) |
安装复杂度 | 简单,开箱即用 | 需要手动安装包 |
包管理工具 | 包含 Anaconda Navigator(图形界面) | 仅包含 Conda(命令行) |
性能优化 | 包含优化包(如 Intel MKL) | 不包含优化包 |
灵活性 | 包含预装包,较固定 | 灵活,用户自主选择包 |
适合用户 | 初学者,数据科学全能用户 | 有经验的用户,资源有限的系统 |
推荐理由
选择 Anaconda3:
- 初学者希望快速搭建数据科学环境。
- 需要包含大量预装包的开箱即用环境。
- 不介意较大的安装包和磁盘空间占用。
选择 Miniconda:
- 有经验的用户,希望完全掌控包和环境。
- 系统存储空间有限,安装时间紧迫。
- 只需要一些特定的包,不希望安装冗余的包。
Anaconda3的安装
1.下载安装包
根据系统类型选择适合的安装包下载,国内用户可以使用清华大学镜像站点下载(速度比官网快很多)
清华大学镜像站点
访问清华大学镜像点这里。
下面是Anaconda3-2024.02-1
版本安装包链接:
下载方式 |
---|
Windows下载地址 |
MacOS下载地址 |
Linux下载地址(x86_64): |
Linux下载地址(aarch64) |
Linux下载地址(arm64) |
Linux下载地址(ppc64le) |
Anaconda官方站点
安装Anaconda
Windows/MacOS三个系统的安装过程都是图形化界面,一步步操作就可以完成安装。
Linux安装过程就是通过命令行方式完成安装:
|
|
安装建议:
- Anaconda安装在磁盘空间较大(50GB以上)的分区,如果你的虚拟环境创建越多,占用空间就越大。
- 合理创建虚拟环境,尽量不要所有安装包都安装在base环境中,否则迁移环境时你可能忘记哪些安装包需要迁移。
升级Anaconda到最新版本
参考地址 更新Anaconda到最新版本方法
从个人经验来说,升级Anaconda的方法是重新安装,以Linux系统中安装在 /devel/anaconda 目录为例介绍操作过程:
- 备份原环境:
mv /devel/anaconda /devel/anaconda.bak
- 安装新环境: 方法如上,使用脚本安装:
bash ./Anaconda3-2024.06-1-Linux-x86_64.sh
,选择安装在/devel/anaconda
目录下。 - 迁移虚拟环境: 将
envs
目录虚拟环境移动到新版本中:mv /devel/anaconda.bak/envs/* /devel/anaconda/envs/
配置Anaconda的Kernel环境
编写代码时最好是可以实时看到代码运行结果是否符合预想,而如果你的项目里有很多代码,每次运行可能需要很多时间,而Jupyter kernel运行环境可以为我们提供会话交互式的代码编写环境,极大的方便了代码编写过程中的功能验证,并且可以及时的调整非预期结果。
Jupyter Kernel 支持很多编程语言: Python/Go/Fortran/ruby/nodejs/Typescript/R/C#/F#/Erlang/Perl/Scala/Matlab/Lua/C/C++等等。
每种语言如何安装及配置都汇总在Jupyter kernels 支持的语言环境列表中了。
创建虚拟环境并在jupyterlab配置kernel环境:
|
|
为了方便管理你的notebook,建议单独新建一个目录管理所有的notebook,替换上面的
/path/to/jupyter-notebook-home
路径。
卸载不想要的 jupyter kernel
|
|
Anaconda环境问题解决
ipynb文件过大,导致加载慢
加载慢大多是因为 ipynb 运行结果多导致的,可以尝试清空每个单元格的结果。通过命令行,可以实现:
# 保留原 ipynb,导出一个没有输出结果的 ipynb
jupyter nbconvert --ClearOutputPreprocessor.enabled=True --to notebook --output=NotebookNoOut large_ipynb.ipynb
# 直接清空 ipynb 的输出结果
jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace large_ipynb.ipynb
环境移植
从开发环境部署生产环境或者迁移到新主机时,需要重新搭建环境。那么,此时就会涉及到运行环境的依赖移植。
纯 pip 安装的包环境移植
|
|
纯 conda 安装包环境移植
|
|
conda 和 pip 混合安装包环境移植
|
|
移植到无网络环境机器上
前面介绍的都是依赖信息的提取,然后在新环境中通过网络下载依赖包安装。但一些生产环境是不能链接互联网的,只能将依赖包整体打包后移植到新环境。
移植也分如下情况:
- 同构环境:比如同是X86_64架构环境,此时移植简单。
- 异构环境:开发环境是X86_64结构,生产环境是ARM架构,此时就无法直接移植。
虽然
pip
支持下载安装包的--platform
设置平台选项,但并不是所有依赖包都支持这个选项。
异构移植方法
- 找一个与目标架构主机相同,且链接外网的主机系统A。
- 在A系统中下载依赖包,并打包安装包。
- 将安装包传输到目标主机系统中,安装这个安装包。
|
|
接下来将打包的文件传输到目标系统(比如SCP/FTP等网络传输方法),传输到目标系统后,开始安装:
|
|
此时,虚拟环境前已完成,可以运行项目代码了。
同构迁移方法
相比异构迁移方法,少了更换一个中间系统的过程,但下载依赖包、打包传输、安装的过程是一样的,这里就不再详述了。