参考:
- Anaconda 官网教程
https://freelearning.anaconda.cloud/get-started-with-anaconda/18202
- conda配置虚拟环境/conda环境迁移/python环境迁移
https://blog.csdn.net/qq_43369406/article/details/127140839
环境:
- macOS 15.2
- Anaconda Navigator 2.4.2
x.1 conda和docker区别
Conda: 一个包管理和环境管理工具,主要用于 Python 和 R 的科学计算与数据科学工作流。主要用于创建隔离的Python或R环境,解决依赖关系,防止依赖冲突。
Docker: 一个基于容器技术的虚拟化平台,用于创建、部署和运行隔离的操作系统级环境。很方便的整个操作系统的环境迁移。
x.2 Conda的workflow
Conda的workflow如下,永远都是:
创建虚拟环境
激活虚拟环境
安装库
使用JupyterLab进行测试
退出虚拟环境
删除虚拟环境
# 查看
conda --version # 查看conda版本
conda env list # 查看虚拟环境有哪些
# 创建新env
conda create --name env_cp311_example python=3.11
# 进入env
conda activate env_cp311_example
# 使用conda装包,并指定conda装包的channel为conda-forge
conda install -c conda-forge jupyterlab
# 启动jupyterlab
jupyter-lab # 随后,终端中会显示一个本地服务器地址(通常是 http://localhost:8888)
# 使用pip装包,并指定pypi装包的渠道为豆瓣源
pip install python-bioformats javabridge # 配合terminal export一下proxy使用
pip install python-bioformats javabridge -i https://pypi.tuna.tsinghua.edu.cn/simple # 清华源
pip install python-bioformats javabridge -i https://pypi.douban.com/simple/ # 豆瓣源
pip install python-bioformats javabridge -i https://mirrors.aliyun.com/pypi/simple/ # 阿里源
pip install python-bioformats javabridge -i https://pypi.mirrors.ustc.edu.cn/simple/ # 中科大
# 使用requirements.txt装包
pip install -r requirements.txt
# 查看conda和pypi各装了什么包
conda list
# 退出虚拟环境
conda deactivate
# 删除虚拟环境
conda env remove --name env_cp311_example
x.2.1 创建虚拟环境
在这一步开始前,我们首先需要查看我们的Conda是否安装成功,
conda --version # 查看conda版本
conda env list # 查看虚拟环境有哪些
需要注意的是NEVER USE IN BASE.
接下来创建新的虚拟环境:# 使用–name指定env的名字,其中env是环境,cp39是cpython=3.9,example是project name;python=3.9是指定python版本。
conda create --name env_cp39_example python=3.9
x.2.2 激活环境,安装库并测试
我们使用activate来激活conda中的env,
conda activate env_cp39_example
通过激活新的env我们能看见前面小括号内的名称变了,从(base)变成了(env_cp39_example);接下俩你安装的所有库都是在这个环境中。
使用install来安装新的环境:-c是指定从哪个channel进行安装,conda-forge是社区驱动的conda包仓库;jupyterlab是安装的具体软件包名称,用于可视化编程;
conda install -c conda-forge jupyterlab
可以使用list来看该环境中一共安转了哪些包,其中显示的channel是指你从那个渠道下载下来的,常见的用pip安装的channel是pypi,conda安装的有诸如conda-forge等;下图中左为base,右边是创建的venv;
conda list
我们在安装完jupyterlab后推荐使用jupyterlab来进行简单的测试和数据分析,在terminal中输入如下命令使用jupyter来分析,
jupyter-lab
退出jupyter-lab只需要在terminal中control+c
便可,
x.2.3 退出环境与删除虚拟环境
退出环境使用deactivate
conda deactivate
删除虚拟环境用remove
# 删除虚拟环境
# conda env remove --name [your env name]
conda env remove --name env_cp39_example
x.3 conda环境迁移
x.3.1 云环境备份
只有支持使用桌面版的"Anaconda Navigator"才可以使用云环境备份来迁移;
conda和其他很多软件一样支持云存储,我们使用anaconda navigator进行备份,登录账号后选择back up便可以将环境备份上云;当我们使用别的操作系统(windows,linux桌面,mac)的时候直接安装navigator将conda的环境迁移便可。
需要注意的是windows的env直接移动到mac是不可行的,因为操作系统不一样。
x.3.2 Linux用命令行进行环境迁移
参考 “conda配置虚拟环境/conda环境迁移/python环境迁移” https://blog.csdn.net/qq_43369406/article/details/127140839
x.4 Conda环境迁移的workflow
# 进入需要导出的Conda环境
conda activate env_cp311_ymz
# 生成Conda依赖: environment.yml
conda env export > environment.yml
# 将文件分为Conda需要安装的部分和Pip需要安装的部分(这样是为了避免迁移的时候,base的pip装了environment.yml中的pip库)
# 将environment.yml中的pip删除(直到删除到-pip:为止,-pip保留,如下图)
# 生成pip依赖: requirements.txt
pip freeze > requirements.txt # 生成requirements.txt
# 去另外一个环境进行迁徙
# 安装Conda
conda env create -f environment.yml # 可以跟-n来指定conda的名字
# 安装pip依赖(采用轮流注释法安装)
pip install -r requirements.txt # 从requirements.txt安装依赖