跳转至

在 Notebook 中使用环境

环境管理是 AI Lab 的重要功能之一,通过在 Notebook 中关联对应的环境,可以快速切换不同的环境,方便用户进行开发和调试。

创建 Notebook 时选择环境

在创建 Notebook 时,可以选择一个或多个的环境 Envs

Attach-Envs

如果没有合适的环境,可以去创建一个新的环境

在 Notebook 使用环境

Note

在 Notebook 中,我们同时提供了 condamamba 两种,用户可以根据自己的需求选择合适的环境管理工具。

AI Lab 中,我们采用了 conda 环境管理工具,用户可以在 Notebook 中通过 !conda env list 命令查看当前环境列表。

(base) jovyan@chuanjia-jupyter-0:~/yolov8$ conda env list
# conda environments:
#
dkj-python312-pure       /opt/baize-runtime-env/dkj-python312-pure/conda/envs/dkj-python312-pure
python-3.10              /opt/baize-runtime-env/python-3.10/conda/envs/python-3.10
torch-smaple             /opt/baize-runtime-env/torch-smaple/conda/envs/torch-smaple
base                  *  /opt/conda     # 当前激活的环境
baize-base               /opt/conda/envs/baize-base

这个命令会列出所有的 conda 环境,并在当前激活的环境前面加上一个星号(*)。

JupyterLab 的 Kernel 环境管理

在 Jupyterlab 中,我们自动将 Notebook 关联的环境绑定到 Kernel 列表中,用户可以通过 Kernel 快速切换环境。

Switch-Envs

通过以上办法,可以同时在一个 Notebook 中使用不同编写和调试算法。

Terminal 切换环境

AI Lab 的 Notebook 目前也已经支持了 VSCode。

如果您更喜欢在 Terminal 中管理和切换环境,可以安装如下步骤:

在首次启动并使用 Notebook 时,需要先执行 conda init,然后再执行 conda activate <env_name> 切换到对应的环境。

(base) jovyan@chuanjia-jupyter-0:~/yolov8$ conda init bash# 初始化 bash 环境, 仅首次使用需要执行
no change     /opt/conda/condabin/conda
 change     /opt/conda/bin/conda
 change     /opt/conda/bin/conda-env
 change     /opt/conda/bin/activate
 change     /opt/conda/bin/deactivate
 change     /opt/conda/etc/profile.d/conda.sh
 change     /opt/conda/etc/fish/conf.d/conda.fish
 change     /opt/conda/shell/condabin/Conda.psm1
 change     /opt/conda/shell/condabin/conda-hook.ps1
 change     /opt/conda/lib/python3.11/site-packages/xontrib/conda.xsh
 change     /opt/conda/etc/profile.d/conda.csh
 change     /home/jovyan/.bashrc
 action taken.
Added mamba to /home/jovyan/.bashrc

==> For changes to take effect, close and re-open your current shell. <==

(base) jovyan@chuanjia-jupyter-0:~/yolov8$ source ~/.bashrc  # 重新加载 bash 环境
(base) jovyan@chuanjia-jupyter-0:~/yolov8$ conda activate python-3.10   # 切换到 python-3.10 环境
(python-3.10) jovyan@chuanjia-jupyter-0:~/yolov8$ conda env list

              mamba version : 1.5.1
# conda environments:
#
dkj-python312-pure       /opt/baize-runtime-env/dkj-python312-pure/conda/envs/dkj-python312-pure
python-3.10           *  /opt/baize-runtime-env/python-3.10/conda/envs/python-3.10    # 当前激活的环境
torch-smaple             /opt/baize-runtime-env/torch-smaple/conda/envs/torch-smaple
base                     /opt/conda
baize-base               /opt/conda/envs/baize-base

如果您更喜欢使用 mamba ,这里需要使用 mamaba initmamba activate <env_name>

查看环境中的包

通过不同环境管理的一个很重要的功能是,可以在一个 Notebook 中通过快速切换环境,使用不用的包。

我们可以通过下方的命令来使用 conda 查看当前环境中的所有包。

(python-3.10) jovyan@chuanjia-jupyter-0:~/yolov8$ conda list
# packages in environment at /opt/baize-runtime-env/python-3.10/conda/envs/python-3.10:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main    defaults
_openmp_mutex             5.1                       1_gnu    defaults
... # 省略部分输出
idna                      3.7             py310h06a4308_0    defaults
ipykernel                 6.28.0          py310h06a4308_0    defaults
ipython                   8.20.0          py310h06a4308_0    defaults
ipython_genutils          0.2.0              pyhd3eb1b0_1    defaults
jedi                      0.18.1          py310h06a4308_1    defaults
jinja2                    3.1.4           py310h06a4308_0    defaults
jsonschema                4.19.2          py310h06a4308_0    defaults
jsonschema-specifications 2023.7.1        py310h06a4308_0    defaults
jupyter_client            7.4.9           py310h06a4308_0    defaults
jupyter_core              5.5.0           py310h06a4308_0    defaults
jupyter_events            0.8.0           py310h06a4308_0    defaults
jupyter_server            2.10.0          py310h06a4308_0    defaults
jupyter_server_terminals  0.4.4           py310h06a4308_1    defaults
jupyterlab_pygments       0.2.2           py310h06a4308_0    defaults
... # 省略部分输出
xz                        5.4.6                h5eee18b_1    defaults
yaml                      0.2.5                h7b6447c_0    defaults
zeromq                    4.3.5                h6a678d5_0    defaults
zlib                      1.2.13               h5eee18b_1    defaults

更新环境的包

目前,可以通过在 AI Lab 的界面中 环境依赖 来更新环境中的包。

评论