Anaconda 是一个流行的、开源的 Python 和 R 编程语言的发行版。它主要用于科学计算,目的是简化包管理和部署。Anaconda 的特点和作用包括:
- 包管理器:Anaconda 附带了 Conda,一个包管理器和环境管理器。Conda 可以帮助你安装、更新和管理软件包及其依赖关系。
- 环境管理:Conda 还可以创建独立的环境,用于隔离不同项目的依赖关系。这意味着你可以为不同的项目使用不同版本的 Python 和库,而不会产生冲突。
- 大量科学包:Anaconda 预装了大量用于数据科学、机器学习、科学计算和数据分析的库,如 NumPy、Pandas、SciPy、Matplotlib 等。
- 适用于多种平台:它可以在 Windows、MacOS 和 Linux 上运行。
- 图形界面:Anaconda Navigator 提供了一个图形用户界面,方便用户管理环境和包,以及启动应用程序(如 Jupyter Notebooks)。
- 支持多种语言:虽然主要面向 Python,但 Anaconda 也支持 R 语言,这是数据科学中另一种非常流行的语言。
- 企业支持:Anaconda 还提供商业支持和附加服务,适用于企业环境。
下载Anaconda
我这边下载的是 :https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh
到服务器上执行 sh Anaconda3-2023.09-0-Linux-x86_64.sh 开始安装
Do you accept the license terms? [yes|no]
[no] >>> yes
Anaconda3 will now be installed into this location:
/root/anaconda3
- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below
[/root/anaconda3] >>>
PREFIX=/root/anaconda3
Unpacking payload ...
Installing base environment...
Downloading and Extracting Packages
Downloading and Extracting Packages
Preparing transaction: done
Executing transaction: /
Installed package of scikit-learn can be accelerated using scikit-learn-intelex.
More details are available here: https://intel.github.io/scikit-learn-intelex
For example:
$ conda install scikit-learn-intelex
$ python -m sklearnex my_application.py
done
installation finished.
Do you wish to update your shell profile to automatically initialize conda?
This will activate conda on startup and change the command prompt when activated.
If you'd prefer that conda's base environment not be activated on startup,
run the following command when conda is activated:
conda config --set auto_activate_base false
You can undo this by running `conda init --reverse $SHELL`? [yes|no]
[no] >>> yes
no change /root/anaconda3/condabin/conda
no change /root/anaconda3/bin/conda
no change /root/anaconda3/bin/conda-env
no change /root/anaconda3/bin/activate
no change /root/anaconda3/bin/deactivate
no change /root/anaconda3/etc/profile.d/conda.sh
no change /root/anaconda3/etc/fish/conf.d/conda.fish
no change /root/anaconda3/shell/condabin/Conda.psm1
no change /root/anaconda3/shell/condabin/conda-hook.ps1
no change /root/anaconda3/lib/python3.11/site-packages/xontrib/conda.xsh
no change /root/anaconda3/etc/profile.d/conda.csh
modified /root/.bashrc
==> For changes to take effect, close and re-open your current shell. <==
Thank you for installing Anaconda3!
基本的conda命令
查看安装:
conda info --envs
创建环境:
conda create -n $ENV_NAME python=3.12
查看环境列表:
conda env list
启动环境:
conda activate $ENV_NAME
关闭环境:
conda deactivate
查看当前环境:
conda info --envs
删除环境:
conda env remove -n $ENV_NAME
conda环境导出导入yml文件
conda activate $ENV_NAME
conda env export > environment.yml
conda env create -f environment.yml
关于 Conda 环境的可移植性
实际上,在 Conda 环境中,无论使用 conda env export 还是 pip freeze,得到的依赖列表都是不可轻易移植的。
Conda 安装包时,不仅会安装命令行指定的包,也会安装各种为了硬件加速、协同的依赖包(包括C++环境),这就导致了在 conda 环境中,靠自动生成的依赖文件并不可轻易移植环境。
这既是 Conda 的优势(解决了依赖问题,提升运行速度),也是 Conda 的劣势(由于依赖于平台的非 Python 包牺牲了部分移植性)。
参考资料:
https://zhuanlan.zhihu.com/p/426655323
https://zhuanlan.zhihu.com/p/32925500