Conda 配置虚拟环境、jupyter kernel 以及环境迁移

您所在的位置:网站首页 怎么调用jupyter魔法 Conda 配置虚拟环境、jupyter kernel 以及环境迁移

Conda 配置虚拟环境、jupyter kernel 以及环境迁移

2023-03-24 16:20| 来源: 网络整理| 查看: 265

Miniconda 是一个 python 简约发行版,集成了 python、pip、conda 等,利用 conda 进行 python 软件包管理非常方便。另外,也可以为特定的项目创建特定的运行环境,再结合 jupyter 等能够非常方便切换各种独立环境。下面给出如何利用 conda 创建特定环境、配置不同 jupyter kernel 以及环境迁移。

安装 Miniconda

从官网下载 miniconda 并安装

1234# 安装最新版 minicondawget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.shchmod +x Miniconda3*./Miniconda3*

其他历史版本请从 miniconda archive 官网下载。

安装特定环境conda update

创建新的环境,命名为 toplayer,安装 python 版本 3.8

12345678# 如果安装 miniconda 时没有初始化,需要初始化,重新登陆conda init# 如果不想 conda 环境在启动 shell 时被激活,可以使用如下方法设置conda config --set auto_activate_base false# 建议安装 jupyterlab,这样在虚拟环境中就可以不用安装了# 该代码针对本篇第3节pip install jupyterlab

如果长时间未更新 conda,可以使用下面方式更新:

1conda update -n base -c defaults conda 创建虚拟环境123456# 安装虚拟环境conda create -n toplayer python=3.8# 激活虚拟环境conda activate toplayer# 退出虚拟环境conda deactivate

或者通过 yaml 创建虚拟环境,具体地,首先编写 yaml 配置文件,这里命名随便,如 test.yaml:

12345678910111213name: toplayerchannels: - conda-forge - defaultsdependencies: - python=3.8 - pip - jupyter - nb_conda - ffmpeg - pip: - scipy - sympy

然后,使用如下命令安装:

1conda env create -f test.yaml 删除虚拟环境12# 删除虚拟环境conda remove -n toplayer --all

注意,conda 版本要求 4.6+

列出所有安装的环境1234# 在主环境下conda env list# 或者conda info -e 安装 jupyter kernel

在虚拟环境安装需要的软件

1234567891011121314151617# 首先激活虚拟环境conda activate toplayer# 安装需要软件conda install ipython jupyterlab# 如果在 base 主环境中已经安装了 jupyterlab,那么可以只需要安装 ipykernelpip install ipykernel ipywidgets# 在虚拟环境安装 jupyter kernel,并命名python -m ipykernel install --user --name toplayer --display-name "Python3(toplayer)"# 在主环境中打开 jupyterlabconda deactivate# 注意这里尝试退出虚拟环境,并进入到主环境,主环境以 base 显示,如果没有显示任何环境名,可以使用如下命令进入主环境conda activate# 打开 jupyterlabjupyterlab

此时,刷新 jupyter notebook 就可以从 kernel 中看到名为 Python3(toplayer) 的 kernel

卸载不想要的 jupyter kernel

查看有哪些 jupyter kernel

1jupyter kernelspec list

显示结果如下(示例)

12345Available kernels: perslay /home/jinzhongxu/.local/share/jupyter/kernels/perslay toplayer /home/jinzhongxu/.local/share/jupyter/kernels/toplayer python3 /usr/local/miniconda/share/jupyter/kernels/python3 c /usr/local/share/jupyter/kernels/c

删除不需要的 kernel

123jupyter kernelspec uninstall toplayerjupyter kernelspec uninstall perslayjupyter kernelspec uninstall c 环境迁移适用于纯 pip 安装的包

把包写入文件

1234# 可能包含类似 file:///tmp/... 这样的内容,不方便安装python -m pip freeze > requirements.txt# 或者,只列出包和版本信息。推荐python -m pip list --format=freeze > requirements.txt

安装

1python -m pip install -r requirements.txt 适用于纯 conda 安装的包

假设已经安装有 miniconda 或 anaconda,并配置好环境变量。

把包写入文件

123conda list --export > requirements.txt# orconda list -e > requirements.txt

安装

1conda create --name --file requirements.txt 适用于 conda 和 pip 混合安装的包

假设已经安装有 miniconda 或 anaconda,并配置好环境变量。同时,conda init 已经激活

把包写入文件

1234# 先进入环境conda activate # 把环境信息写入环境配置文件。yaml 里的 name 可以根据自己喜好改写conda env export > environment.yaml

安装

在新的服务器上已经安装好 miniconda 或 anaconda,并配置好环境变量。同时,conda init 已经激活

12# 直接根据配置文件创建环境conda env create -f environment.yaml 多虚拟环境运行程序

对于创建有多个虚拟环境的服务器,当运行 python 程序时会调用哪个虚拟环境中的模块呢?

一句话,你使用哪个虚拟环境中的 python 就调用哪个虚拟环境中的模块.

因此,建议在命令行运行程序时使用 python 的完整路径,如:

12345# 调用 base 环境中的模块/usr/local/miniconda/bin/python main.py# 调用 deeplabcut 环境中的模块/usr/local/miniconda/env/deeplabcut/bin/python main.py 参考链接

Adding An Environment to Jupyter Notebooks

用conda创建python虚拟环境

pip freeze



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3