多语言笔记系列:Polyglot Notebooks 添加Jupyter内核,支持Python语言

在 Polyglot Netebooks 中,添加Jupyter内核,支持Python语言

  • 前提:系统要安装Python环境,推荐使用Anaconda安装,直接安装Python也可以

  • 作用:使多语言笔记,直接支持 Python语言;

  • 优势:在一个笔记文档中,可以同时混合多种语言:Python、C#、F#、PowerShell、JS、SQL、HTML等

安装 Python

    # 保证:在命令行窗口,能直接执行下面命令
    python --version

方式一:直接使用魔法命令#!connect jupyter

直接使用魔术命令:

  • 无Conda环境:#!connect jupyter --kernel-name pythonkernel --kernel-spec python3
  • 有Conda环境:#!connect jupyter --kernel-name pythonkernel --conda-env base --kernel-spec python3

实测有缺点:

  • 不能重复执行:重复执行会报错
  • 连接字符串必须是真实字符串:不能是变量,不灵活;明文"不安全",比如演示环境
//命名空间
using Microsoft.DotNet.Interactive;
using Microsoft.DotNet.Interactive.Commands;

//引入Python内核
#!connect jupyter --kernel-name pythonkernel --kernel-spec python3

方式二:变通用法:在C#程序中,拼接好魔术命令#!connect,再发送给内核执行

此种方式是魔法命令的变型、优化版,本质原理一样,只是调用方式换成C#。
优点:

  • 多次执行,不报错;
  • 魔法命令:可自由拼接(可使用配置文件、系统变量、共享变量等),非常灵活;
using Microsoft.DotNet.Interactive;
using Microsoft.DotNet.Interactive.Commands;

//引入Python内核:使用C# 执行引入语句
if(Kernel.Root.FindKernelByName("pythonkernel2") == null)
{
    //Console.WriteLine("正在导入Python内核....");
    var importPythonkernel = "#!connect jupyter --kernel-name pythonkernel2 --kernel-spec python3";
    await Kernel.Root.SendAsync(new SubmitCode( importPythonkernel,  "csharp"));
    //Console.WriteLine("Python内核导入完成");
}
else 
{
    //Console.WriteLine("Python内核已经导入");
}

使用Python语言内核

  • 使用 #!pythonkernel 命令,切换到Python语言内核
  • 单元格右下角,选择 pythonkernel内核
# 明确指定内核:优先级高于 "单元格选择的内核"
#!pythonkernel2

print("你好,我是 Ployglot Notebooks 使用 Python语言内核,打印的内容!")
# 右下方选择 内核
print("右下方选择Python内核");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bicijinlian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值