Python虚拟环境轻松配置:Jupyter Notebook中的内核管理指南

问题

在Python开发中,一些人在服务器上使用Jupyter Notebook中进行开发。一般是创建虚拟环境后,向Jupyter notebook中添加虚拟环境中的Kernel,后续新建Notebook中在该Kernel中进行开发,这里记录一下如何创建Python虚拟环境以及添加Kernel,便于进一步在Jupyter Notebook中使用不同Python版本和环境的灵活性。

解决办法

在这里插入图片描述

Jupyter Notebook是数据科学家和程序员中广泛使用的工具,因为它允许使用各种编程语言进行交互式计算,如Python、R、Julia等。然而,在开发中可能会发现需要使用不同版本的Python,甚至特定的Python环境。在这种情况下,向Jupyter Notebook添加新内核会非常有帮助。

目录:

  • 先决条件
  • 步骤1:创建Python3虚拟环境
  • 第2步:激活虚拟环境
  • 第3步:安装IPython内核包
  • 第4步:向Jupyter注册内核
  • 第5步:验证和使用新内核
  • 结论

先决条件

在开始之前,应该在系统上安装以下工具:

  • Python3. x
  • Jupyter Notebook
  • Virtualenv/Conda(用于创建虚拟环境)

如果没有安装好这些,请按照它们各自网站上的说明进行设置。

步骤1:创建Python3虚拟环境

首先,需要为Python3内核创建一个新的虚拟环境,这将帮助独立于系统范围的Python安装来管理内核使用的依赖项和包。

打开终端(或Windows上的命令提示符)并导航到要创建虚拟环境的目录。然后,运行以下命令:

  • virtualenv
virtualenv -p python3 my-python3-env
  • conda
conda create -n my-python3-env python=3.7

这将使用python3解释器创建一个名为my-python3-env虚拟环境,可以将my-python3-env替换为您喜欢的任何名称。

第2步:激活虚拟环境

一旦创建了虚拟环境,就可以激活它,之后在虚拟环境的上下文中安装软件包并配置内核。要激活虚拟环境,请运行以下命令:

在Linux或macOS上:

  • virtualenv
source my-python3-env/bin/activate
  • conda
conda activate my-python3-env

在Windows上:

  • virtualenv
my-python3-env\Scripts\activate
  • conda
conda activate my-python3-env

激活虚拟环境后,终端提示符应更改以反映活动环境,如下所示:

(my-python3-env) $

第3步:安装IPython内核包

切换到对应的虚拟环境后,可以安装IPython内核包。这个包是Python3内核在Jupyter Notebook中正常运行所必需的。运行以下命令安装IPython内核包:

pip install ipykernel

第4步:向Jupyter注册内核

安装了IPython内核包后,现在可以使用Jupyter Notebook注册新Python3内核。为此,将使用ipykernel命令,该命令作为IPython内核包的一部分安装。运行以下命令来注册内核:

python -m ipykernel install --user --name=my-python3-kernel

这个命令注册了一个名为my-python3-kernel新内核,并将其与活动虚拟环境相关联。可以将my-python3-kernbel替换任何其他的名称。选择内核时,此名称将显示在Jupyter Notebook界面中。

第5步:验证和使用新内核

要验证新内核是否已成功注册并可在Jupyter Notebook中使用,通过运行以下命令启动Jupyter Notebook:

jupyter notebook

这将在默认Web浏览器中打开Jupyter Notebook界面。通过单击右上角的新建按钮创建一个新笔记本,然后从下拉框中选择新内核(my-python3-kernel)。

IWmQp.png

现在应该能够在Jupyter Notebook中使用新的Python3内核,尝试在Notebook单元中运行一些Python代码,以确认一切都按预期工作。

有了这个新内核,现在可以在Jupyter Notebook中使用不同版本的Python或特定Python环境,使得数据科学和编程任务更加灵活和高效。

注:如果想移除Kernel,可以使用以下命令:

1 查看所有的kernel

jupyter kernelspec list

2 删除你想删除的kernel

jupyter kernelspec uninstall my-python3-kernel

参考

  • https://jupyter-client.readthedocs.io/en/latest/kernels.html
  • https://www.dataquest.io/blog/jupyter-notebook-tutorial/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/308885.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

uniApp 顶部导航栏右侧添加文字按钮

{"path" : "pages/allin/MessageCenter/MessageCenter","style" : {"navigationBarTitleText": "消息中心","enablePullDownRef…

MyBatisPlus学习笔记一

1、简介 MyBatisPlus(简称MP)是一个MyBatis的增强工具,在MyBatisMyBatisMyBatis的的基础上只做增强不做改变,为简化开发,提高效率而生。 官网:MyBatis-Plus mybatisplus通过扫描实体类,并基于…

系统添加深色模式实现方案

业务需求,夜间看系统太刺眼,要求添加夜间模式 效果如下: 依赖如下: 参考了官方解决方案,尝试后没有有效的解决. 官方解决方案 后续打算换框架,发现antdesign pro vue版本的暗黑模式禁用了. ant design pro 预览地址 思路: 引入andesign 暗黑模式的样式 , 手动修改自定义类…

python代码练习:双指针法

题目一:移除元素 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不…

[python]使用pyqt5搭建yolov8 竹签计数一次性筷子计数系统

【官方框架地址】 github地址:https://github.com/ultralytics/ultralytics 【算法介绍】 Yolov8是一种先进的深度学习算法,用于目标检测任务,特别是针对图像中物体的实时检测。它是Yolov3和Yolov4之后的又一重要迭代,带来了诸多…

Ipython 基本使⽤

一、启动 Ipython [root192 ~]# ipython二、特点 ⽀持 Tab 键补全 可以查看函数的源码 ⽅法:??函数名 In [4]: ??open # 按下回⻋即可查看 open 函数的源码,输⼊q 退出源码可以执⾏系统命令 ⽅法: !命令 In [5]: !vim hello.py p…

linux 01 centos镜像下载,服务器,vmware模拟服务器

https://www.bilibili.com/video/BV1pz4y1D73n?p3&vd_source4ba64cb9b5f8c56f1545096dfddf8822 01.使用的版本 国内主要使用的版本是centos 02.centos镜像下载 这里的是centos7 一.阿里云官网地址:https://www.aliyun.com/ 二. -----【文档与社区】 —【…

论文阅读 Attention is all u need - transformer

文章目录 1 摘要1.1 核心 2 模型架构2.1 概览2.2 理解encoder-decoder架构2.2.1 对比seq2seq,RNN2.2.2 我的理解 3. Sublayer3.1 多头注意力 multi-head self-attention3.1.1 缩放点乘注意力 Scaled Dot-Product Attention3.1.2 QKV3.1.3 multi-head3.1.4 masked 3.…

VSCode使用MinGW编译器,配置C/C++环境

目录 一、安装VSCode 二、安装MinGW编译器 1、配置环境变量 2、测试配置是否成功 三、配置VSCode 1、安装所需扩展 2、新建代码存放文件夹 3、添加配置文件 4、配置文件内容 (1)c_cpp_properties.json (2)launch.json …

浅谈WAF——守护网络安全的无形之盾

随着信息化时代的到来,网络已逐渐融入我们日常生活的方方面面。然而,与此同时,网络安全问题却也如影随形。为此,一种名为“Web应用防火墙”的工具应运而生,简称”WAF”。 WAF是什么? WAF(Web …

多模态+SNN个人学习历程和心得

祖传开头 这次想写一个一直深藏心中的研究方向,那就是多模态方向。其实当初在实验室那会儿,最先接触的就是多模态的工作,因此这是我科研之路的起点。只不过,后来经历了一些波折,导致个人没有往这个方向深挖&#xff0…

【读书笔记】学习突围

最近在读一本书《学习突围》,作者是常青,知乎大V。对他的一些回答非常认同,受益匪浅,特此买来纸质书籍细细学习一番! 1.【学习心态】(拖延症、自控、执行力、专注力) 2.【学习方法】&#xff0…

解析c++空指针解引用奔溃

空指针解引用引起程序奔溃是c/c中最常见的稳定性错误之一。 显然并非所有使用空指针的语句都会导致奔溃,那什么情况下使用空指针才会引起程序奔溃呢?有一个判断标准:判断空指针是否会导致访问非法内存的情况,如果会导致访问非法内…

深度学习算法应用实战 | 利用 CLIP 模型进行“零样本图像分类”

文章目录 1. 零样本图像分类简介1.1 什么是零样本图像分类?1.2 通俗一点的解释 2. 模型原理图3. 环境配置4. 代码实战5. Gradio前端页面5.1 什么是 Gradio ? 6 进阶操作7. 总结 1. 零样本图像分类简介 1.1 什么是零样本图像分类? “零样本图像分类”(Zero-shot …

CentOS 6 制作openssl 1.1.1w rpm包 —— 筑梦之路

参考资料: CentOS 7 制作openssl 1.1.1w 版本rpm包 —— 筑梦之路_centos7 openssl 1.1.1 rpm包-CSDN博客 直接上spec文件如下: Name: openssl Version: 1.1.1w Release: 1%{?dist} Summary: Utilities from the general purpose cryptography li…

yolo 分割label格式标注信息图片显示可视化查看

参考: https://github.com/ultralytics/ultralytics/issues/3137 https://blog.csdn.net/weixin_42357472/article/details/135218349?spm=1001.2014.3001.5501 需要把坐标信息在图片上显示 代码 1)只画出了坐标边缘 import cv2 import numpy as np from random impor…

上海雏鸟科技无人机灯光秀跨年表演点亮三国五地夜空

2023年12月31日晚,五场别开生面的无人机灯光秀跨年表演在新加坡圣淘沙、印尼雅加达、中国江苏无锡、浙江衢州、陕西西安等五地同步举行。据悉,这5场表演背后均出自上海的一家无人机企业之手——上海雏鸟科技。 在新加坡圣淘沙西乐索海滩,500架…

【读书笔记】网空态势感知理论与模型(七)

通过网络级对象依赖关系揭示0Day攻击路径 1. 研究动机 0Day攻击是攻击者和防御者之间信息不对称的结果。赛门铁克研究人员认为,典型的0Day攻击平均隐藏312天才会被觉察。 受到SKRM模型启发,Patrol系统以全局视野来调查在某一个路径上的0Day攻击行为。从…

16_线程池

文章目录 完整的线程状态转换图理论层面代码层面 线程池3种线程池线程池的使用 多线程的实现方式三:实现Callable接口单例设计模式(线程安全) 完整的线程状态转换图 理论层面 代码层面 线程池 提高效率 3种线程池 Executors: 线程工具类,…

统一网关 Gateway【微服务】

文章目录 1. 前言2. 搭建网关服务3. 路由断言工厂4. 路由过滤器4.1 普通过滤器4.2 全局过滤器4.3 过滤器执行顺序 5. 跨域问题处理 1. 前言 通过前面的学习我们知道,通过 Feign 就可以向指定的微服务发起 http 请求,完成远程调用。但是这里有一个问题&am…