文章目录
Conda 快速入门 & Miniconda
前言
开篇先聊聊天。
本文记录于2024年国庆前。这段时间,美国降息,大A起飞,经济未来可期。趋于兴趣,准备系统学习下金融和量化交易。提到量化交易,就离不开Python,不同的Python项目又需要不同的Python运行环境。
所以,学习第一步,配置Python运行环境。而我们常用Anaconda来管理本地的Python运行环境。
这次,我是要在我的Linux服务器里配置Python环境,考虑到在服务器内仅需要用到Conda及部分Python包,Anaconda的一些功能和包用不上,因此采用更轻量级的Miniconda。
学习目标
- 学习Linux下Miniconda的下载与安装
- 学习Conda常用命令,能使用Conda进行Python环境管理
1. Miniconda 简介
1.1 简介
Miniconda 是一个小型的 Anaconda 发行版,它提供了 Anaconda 的核心功能,但体积更小,安装速度更快。Miniconda 允许用户创建独立的环境,每个环境可以拥有自己的软件包和 Python 版本,这使得用户能够在不同项目之间轻松切换,而不会相互干扰。
Miniconda 的主要特点包括:
- 轻量级:相比于完整的 Anaconda 发行版,Miniconda 体积更小,安装更快。
- 环境管理:Miniconda 允许用户创建隔离的环境,每个环境可以安装不同的库和 Python 版本。
- 包管理:通过
conda
命令行工具,用户可以安装、更新和管理软件包。 - 跨平台:Miniconda 支持 Windows、macOS 和 Linux 操作系统。
- 易于使用:Miniconda 提供了一个简单的命令行界面,使得安装和使用变得容易。
Miniconda 是数据科学、机器学习、科学计算等领域的开发者和研究人员常用的工具之一。通过使用 Miniconda,用户可以避免版本冲突,确保项目依赖的正确性和稳定性
1.2 Conda、Miniconda 与 Anaconda
- Conda:是一个包管理器和环境管理器,可以用于安装和管理软件包和虚拟环境。
- Anaconda:是一个基于Conda的数据科学发行版,它包含了Conda、Python以及大量的数据科学相关的软件包。Anaconda适合需要完整数据科学栈的用户。
- Miniconda:是一个轻量级的Anaconda替代品,它只包含Conda、Python和少量必要的软件包。Miniconda适合只需要基础Python环境和Conda管理功能的用户,用户可以根据自己的需要安装其他软件包。
2. Miniconda 安装
2.1 Miniconda 安装
我们可以直接通过官网的提示进行安装,主要步骤如下:
创建所需文件夹
首先,我们可以创建文件夹并cd
到我们所需的指定文件夹,例如这里我选择在home文件夹里:
cd /home
mkdir -p miniconda3
下载.sh文件并查看.sh文件下载结果
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /home/miniconda3/miniconda.sh
cd miniconda3/
ls
执行bash安装
bash miniconda.sh -b -u -p /home/miniconda3
删除.sh文件
rm miniconda.sh
初始化bash和zsh shell
/home/miniconda3/bin/conda init bash
/home/miniconda3/bin/conda init bash
这里根据自己所用的终端选择执行即可
重新加载.bashrc文件
source ~/.bashrc
~/指的是用户目录,.bashrc文件一般都在这个目录,是隐藏文件,使用 ls -a可列出隐藏文件
查看conda版本
conda --version
至此,我们的miniconda下载完成。若读者要安装到其它目录,需要自行修改上述例子的文件夹路径。
2.2 Miniconda 卸载
会安装也要会卸载,以备未来不时之需:
conda-clean
conda install anaconda-clean
anaconda-clean --yes
删除miniconda所在文件夹
rm -rf <miniconda_install_dir>
例如,我们在上面安装的miniconda所在文件路径:/home/miniconda3
修改~/.bashrc文件
这里若我们用的是bash则需要这步,例如,我装在了/home/miniconda3目录下,然后又执行了安装时的bash初始化命令,则将.bashrc里的conda初始化配置删除即可,像下面这段:
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/miniconda3/etc/profile.d/conda.sh" ]; then
. "/home/miniconda3/etc/profile.d/conda.sh"
else
export PATH="/home/miniconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
3. Conda 常用命令
3.1 Conda 版本
查看conda版本
conda --version
更新conda
conda update conda
查看conda环境详细信息
conda info
3.2 虚拟环境管理
这一小节的环境管理是重点,是我们日常最常用的conda命令集之一。
创建虚拟环境
conda create --name <your_env_name> python=<python_version>
这个创建环境很好理解,例如:
conda create --name sida_scrapy python=3.9
激活虚拟环境
conda activate <your_env_name>
例如:
conda activate sida_scrapy
退出当前虚拟环境
conda deactivate
删除某个虚拟环境
conda remove -n <your_env_name> --all
复制某个虚拟环境
conda create --name <new_env_name> --clone <old_env_name>
查看当前有哪些虚拟环境
conda env list
或者
conda info --envs
3.3 包管理
conda 除了环境管理,也可以实现和pip一样的包管理
安装包
conda install <package_name>
指定包版本
conda install <package_name>=<version>
批量安装requirements.txt文件里的包和依赖
conda install --yes --file requirements.txt
导出环境中所有依赖包到requirements.txt文件
conda list -e > requirements.txt
删除当前环境某个包
conda remove <package_name>
删除没有用的安装包
conda clean -p
删除所有安装包及cache
conda clean -y --all
升级当前环境的包
conda update <package_name>
升级所有包
conda update --all
3.4 镜像源管理
查看镜像源
conda config --show channels
添加镜像源
conda config --add channels <url>
例如添加清华源:
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 --set show_channel_urls yes
移除镜像源
conda config --remove channels <url>
4. 补充与总结
4.1 补充
参考文章里面提到的一个分享和备份虚拟环境的,特别适合团队协作,原文如下:
分享/备份一个虚拟环境
一个分享环境的快速方法就是给他一个你的环境的.yml文件。
首先激活要分享的环境,在当前工作目录下生成一个environment.yml文件。
conda env export > environment.yml
对方拿到environment.yml文件后,将该文件放在工作目录下,可以通过以下命令从该文件创建环境即可。
conda env create -f environment.yml
4.2 总结
本文我们先学习了Miniconda的概念与安装,然后一起复习一下Conda常用命令。
在服务器下载并配好Miniconda后,我们就可以使用Conda进行环境管理了,方便项目在服务器上运行和部署。
Conda常用命令的重点是Conda虚拟环境管理,以及镜像源相关。是我们最常用的Conda命令部分。
通过本文的学习之后,接下来,我们可以愉快地使用本地/服务器Linux的环境进行项目的运行和部署了!