理解和创建:Anaconda、Jupyterlab、虚拟环境、Kernel

2023-05-16

Anaconda如何创建虚拟环境并作为jupyterlab的内核使用

  • 先明确一波概念
    • 一. “虚拟环境”
      • 1. 环境是什么?
      • 2. 虚拟环境是什么?
      • 3. 为什么需要创建虚拟环境?
      • 4. Anaconda创建、激活、退出、删除虚拟环境
    • 二. kernel
      • 1. kernel是什么?
      • 2. kernel和虚拟环境是什么关系?
      • 3. 将虚拟环境映射为jupyterlab的kernel
      • 4. 新建ipynb时,可以选择Kernel
      • 3. kernel和notebook(spyder)是什么关系?
  • 参考链接


先明确一波概念

一. “虚拟环境”

1. 环境是什么?

既然有虚拟环境(Virtual Environment),那么有必要先解释一下,什么是环境。
这里的环境,指的就是 Python 代码的运行环境。它应该包含以下信息:(第 1 个是最主要的,后面 2 个基本是围绕它确定的)

  1. Python 解释器,用哪个解释器来执行代码?
  2. Python 库的位置,该去哪里 import 所需要的模块呢?
  3. 可执行程序的位置,比如说安装了 pip,那么 pip 命令是在哪里呢?

如果看了对安装后的文件夹的说明,应该很清楚了,就是:

  1. python.exe
  2. Lib 文件夹,包括其中的 site-packages
  3. Scripts 文件夹

2. 虚拟环境是什么?

虚拟环境就是 Python 环境的一个副本。
虚拟环境是一个虚拟化、从电脑独立开辟出来的环境。通俗的来讲,虚拟环境就是借助虚拟机docker来把一部分内容独立出来,我们把这部分独立出来的东西称作“容器”,在这个容器中,我们可以只安装我们需要的依赖包,各个容器之间互相隔离,互不影响。
譬如,本次学习需要用到Django,我们可以做一个Django的虚拟环境,里面只需要安装Django相关包就可以了。

3. 为什么需要创建虚拟环境?

在实际项目开发中,我们通常会根据自己的需求去下载各种相应的框架库,如Scrapy、Beautiful Soup等,但是可能每个项目使用的框架库并不一样,或使用框架的版本不一样,这样需要我们根据需求不断的更新或卸载相应的库。直接怼我们的Python环境操作会让我们的开发环境和项目造成很多不必要的麻烦,管理也相当混乱。

举一个最简单的例子,假设框架中需要安装A包,安装A包的前提条件是B包的2.1版本和C包的1.2版本都有,这时候你原来系统里的B包可能是3.2版本,为了装A包就需要降版本,但是系统里原来的D包需要3.2版本的B包,所以B包降了版本,可能导致D包无法使用。

4. Anaconda创建、激活、退出、删除虚拟环境

#在原始控制台输入:,检测anaconda环境是否安装成功。输出conda版本为成功
conda --version
#查看当前存在哪些虚拟环境:
conda env list 或 conda info -e
#在未创建自己的虚拟环境之前,查看到的将是anaconda自带的base环境


#创建虚拟环境。使用管理员身份运行Anaconda Prompt,创建一个叫做“env_name”的python3.6的虚拟环境,在界面输入
conda create --name env_name python=3.6


#创建完成后,激活虚拟环境:
conda activate env_name
#如果显示例如:(env_name) C:\Users\ 代表已经进入虚拟环境,在这个状态下就可以安装你所需要的包了
#下一次进入虚拟环境依旧是从Anaconda Prompt进入,直接activate env_name激活即可。(如果忘记了名称我们可以先用conda env list查看一下)
#如果直接输入命令activate,如果后面什么参数都不加那么会进入anaconda自带的base环境


#在虚拟环境中,安装第三方包:
conda install package_name 或者 pip install package_name
#一次安装多个第三方包:
conda install package_name_1 package_name_2
#指定所安装的第三方包的版本:
conda install package_name=X.X
#更新package_name包:
conda update package_name
#在虚拟环境中,卸载第三方包:
conda remove package_name 或者 pip uninstall package_name
#要查看当前环境中所有安装了的包可以用
conda list

#在激活的虚拟环境内,可以打开python解释器:
python
#验证第三方包package_name是否安装成功:
import package_name
#退出python解释器:
exit()


#退出虚拟环境
conda deactivate
#切回root环境
activate root


#删除虚拟环境及下属所有包
conda remove --name env_name --all
#删除虚拟环境中的包:
conda remove --name env_name package_name


#分享环境,一个方法是给ta一个你环境的.yml文件。首先activate env_name激活要分享的环境,然后输入:将包信息存入yml文件中.
conda env export > environment.yml
#在当前工作目录下会生成一个environment.yml文件,小伙伴拿到environment.yml文件后,将该文件放在工作目录下,可以通过以下命令从该文件创建环境
conda env create -f environment.yml

二. kernel

1. kernel是什么?

kernel在Jupyter中提供编程语言支持。(说白了,kernel就是编译器)
IPython是默认内核,支持Python编程语言。IPython是参考的Jupyter内核,提供了一个强大的Python交互式计算环境。
还有其他内核包括R、Julia等。所以除了Python之外,还可以在Jupyter中使用许多其他语言。

2. kernel和虚拟环境是什么关系?

如果说kernel是编译器的话,那我是不是可以理解为kernel<=虚拟环境

查看虚拟环境:

C:\Users\huipu>conda env list
#conda environments:
#
base                  *  C:\ProgramData\Anaconda3

查看jupyter kernel:

C:\Users\huipu>jupyter kernelspec list

Available kernels:
  python3    C:\ProgramData\Anaconda3\share\jupyter\kernels\python3

可以发现kernel的位置是在虚拟环境之下的,所以我觉得我的想法应该没错。如果有大佬知道,欢迎在评论区指正!

3. 将虚拟环境映射为jupyterlab的kernel

既然虚拟环境是python语言的运行环境,那么可以将创建的虚拟环境添加为jupyterlab的kernel(编译器),使用自己创建的虚拟环境来运行jupyterlab中的Python代码。

  1. 进入到要添加为kernel的环境:
activate kernelname
  1. 确认该环境已安装ipykernel:
python -m ipykernel --version

务必要安装ipykernel(如果是R语言,要安装irkernel),ipykernel包的作用是将当前所在python环境添加为kernel,配置文件路径为~/anaconda3/envs/my_env/share/jupyter/kernels/python3/kernel.json。
通过配置Jupyter下的kernel.json文件,就可以将虚拟环境映射为kernel。

  1. 如果没有安装,则安装:
conda install ipykernel

或者在当初创建环境时,同时安装ipykernel:

conda install -n 环境名称 ipykernel 
  1. 将虚拟环境映射为(安装到)jupyterlab的kernel:
python -m ipykernel install --user --name KernelName --display-name DisplayName

“–user”参数的意思是针对当前用户安装,而非系统范围内安装。
KernelName是你的虚拟环境名称。
DisplayName是你想要该内核在notebook上面显示内核的名字。

  1. 查看已安装的jupyter notebook kernel和地址
jupyter kernelspec list
  1. jupyter删除内核
jupyter kernelspec remove kernelname

其中,kernelname是你的虚拟环境名称(即上面添加的内核名称)。

4. 新建ipynb时,可以选择Kernel

新建ipynb文件时,选择的是哪个kernel(如:Python3),每次进入时就启动相应的kernel。
可以在jupyterlab界面导航“Kernel”下的“Change Kernal”切换内核。

3. kernel和notebook(spyder)是什么关系?

notebook和spyder都是编辑器,python或其他代码运行在其中时,需要语言编译环境的支持。kernel中就包含了这个语言环境,不同的kernel可对应不同的环境。


参考链接

  1. 理解Python虚拟环境
  2. Jupyterlab如何切换Anaconda下的python虚拟环境
  3. Anaconda创建python虚拟环境——新手小白入门必看
  4. 什么是虚拟环境、为什么使用虚拟环境、Anaconda创建、激活、退出、删除虚拟环境
  5. Anaconda 创建虚拟环境(自己版本)
  6. Anaconda、Jupyter、Kernel
  7. 关于Jupyter Notebook的kernel
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

理解和创建:Anaconda、Jupyterlab、虚拟环境、Kernel 的相关文章

随机推荐

  • Android Studio 超详细 安装SDK 教程

    一 首先安装Android SDK Tools 国内下载地址Android SDK Tools 百度云下载地址链接 xff1a https pan baidu com s 1RmXi8b lxksVS5hJuSLPIg 提取码 xff1a
  • 【Android Studio】win10安装教程 史上最详细

    一 安装Android Studio 1 首先下载Android Studio 官网下载 xff1a Androis Studio 官网 2 双击打开 点击Next 3 选择安装 xff0c 点击Next 4 选择安装路径 xff0c 点击
  • Android Studio 创建手机虚拟机教程

    小白 Android Studio创建手机虚拟机 版本 AndroidStudio 3 5 3 在APP开发中不一定每时每刻都有真机 xff0c 所以可以通过AndroidStudio 创建一个手机虚拟机 1 创建新的手机虚拟机 点击No
  • Android Studio 下载设备虚拟机镜像

    这里以下载手机虚拟机镜像为示例 需要用到的软件 Android SDK Tools 不知道如何安装Android SDK Tools 的请参考 安装Android SDK Tools SDK Manager exe打不开的请参考这里 SDK
  • 【嵌入式】交叉编译 移植 i2cTool4.1 史上最详细

    一 i2ctool 介绍 i2c tools工具是一个专门用来调试 i2c 的 并且是开源的 他可以 xff1a 1 检测有几组i2c总线在系统上 2 查看挂载在i2c上面设备寄存器的数值 3 可以读取挂载在i2c上面设备寄存器的数值 4
  • 【Ubuntu】 vim 安装与美化 史上最详细

    一 安装vim sudo apt get install vim 二 配置vim 针对单个用户配置 vim vimrc 针对全部用户配置 vim etc vim vimrc 三 配置选项 1 我的配置 34 设置编码 set fileenc
  • 【Ubuntu】Ubuntu16.04安装 搜狗输入法 史上最详细

    一 基本配置 开发环境 xff1a ubuntu16 04 二 准备工作 下载 搜狗输入法linux版 搜狗输入法官网Linux版 我这里是64位的 xff0c 所以选择64位 1 拷贝搜狗输入法到ubuntu cp media sf sh
  • 【嵌入式】---交叉编译 移植 ALSA1.2.2

    一 开发环境 开发环境 xff1a ubuntu16 04 开发平台 xff1a imx6q 交叉编译工具链 xff1a arm linux gnueabihf 二 需要的软件 1 alsa lib 下载地址 xff1a alsa lib
  • 【Android Studio 】经典常用开发设置 [最新最详细-持续更新]

    概述 一个好的配置能够帮助开发者完成更便捷 更快速的开发书山有路勤为径 xff0c 学海无涯苦作舟 我是秋知叶i 期望每一个阅读了我的文章的开发者都能够有所成长 一 当前 Android Studio 版本 Android Studio 经
  • 【MobaXterm】登录SSH服务器

    登录SSH远程服务器 一 配置用户信息1 打开Session2 打开SSH3 新建用户4 创建用户 二 配置登录SSH服务器信息三 再次登录服务器 一 配置用户信息 1 打开Session 2 打开SSH 3 新建用户 4 创建用户 输入账
  • 【adb】 win11 配置 adb环境 史上最详细

    官网下载 adb官网下载 下载下来的压缩包platform tools r33 0 3 windows zip 我们解压得到一个platform tools 二 配置adb环境 新建系统变量 点击浏览目录选择解压的文件夹 xff0c 然后点
  • 【Dev-c++】美化配置

    概述 一个好的配置能够帮助开发者完成更便捷 更快速的开发书山有路勤为径 xff0c 学海无涯苦作舟 我是秋知叶i 期望每一个阅读了我的文章的开发者都能够有所成长 一 设置语法格式 点击工具 编辑器选项 选择 语法 点击预设这里选择 Plas
  • 嵌入式Linux调试器GDB的使用

    调试一直是程序开发的重中之重 xff0c 使用GDB调试可以帮助我们快速找到程序中的错误 注意 xff1a 在进行GDB调试之前 xff0c 程序在gcc编译时要加上 g 选项 1 进入GDB xff1a gdb 可执行文件名 2 查看GD
  • 华清数据结构项目实训——学生信息管理系统

    模块划分及主要文件 1 主程序模块 主要功能 xff1a 程序的入口 主要文件 xff1a main c 2 菜单模块 主要功能 xff1a 完成菜单的显示以及登录和调用相应功能函数 主要文件 xff1a menu h menu c 3 学
  • sqlite3的安装以及增删改查排序功能的实现

    目录 一 安装sqlite3 1 安装sqlite3数据库 xff1a 2 安装编译依赖库 3 安装可视化界面 4 验证数据库是否安装成功 二 常用数据库指令及SQL数据类型 1 常用数据库指令 2 常用SQL数据类型 三 数据库操作 1
  • C++函数模板

    前言 模板是一个通用框架 xff0c 是C 43 43 泛型编程 思想的主要体现 C 43 43 提供了函数模板 和类模板 两种模板机制 xff0c 本文介绍的是函数模板相关的知识 一 函数模板的作用及语法 作用 xff1a 用一个虚拟的类
  • MQ-2烟雾传感器

    一 MQ 2烟雾传感器简介 MQ 2常用于家庭和工厂的气体泄漏监测装置 xff0c 适宜于液化气 苯 烷 酒精 氢气 烟雾等的探测 故因此 xff0c MQ 2可以准确来说是一个多种气体探测器 MQ 2的探测范围极其的广泛 它的优点 xff
  • PX4姿态解算源码原理理解

    PX4源码原理理解一 xff0e 主要参考资料链接 xff1a 1 1 取PX4源码一小部分姿态解算来进行讲解姿态解算源码中文注释 xff1a https blog csdn net zouxu634866 article details
  • Linux 使用 curl 命令发送带参请求

    1 发送 post 请求 xff08 请求参数为 json 格式 xff09 xff1a curl i X POST H 39 Content type 39 39 application json 39 d 39 34 id 34 34
  • 理解和创建:Anaconda、Jupyterlab、虚拟环境、Kernel

    Anaconda如何创建虚拟环境并作为jupyterlab的内核使用 先明确一波概念一 虚拟环境 1 环境是什么 xff1f 2 虚拟环境是什么 xff1f 3 为什么需要创建虚拟环境 xff1f 4 Anaconda创建 激活 退出 删除