dotnet / interactive

.NET Interactive combines the power of .NET with many other languages to create notebooks, REPLs, and embedded coding experiences. Share code, explore data, write, and learn across your apps in ways you couldn't before.
MIT License
2.84k stars 381 forks source link

dotnet interactive not working with JupyterLab #2287

Closed Philip-Wong closed 1 year ago

Philip-Wong commented 1 year ago

Describe the bug

Please provide as much information as you can.

Please complete the following:

Which version of .NET Interactive are you using? (In a notebook, run the #!about magic command. ): .NET 6 image

$ dotnet tool list image

Jupyterlab version image

Replicate

  1. Install .Net6
  2. VSCODE extension install NET Interactive Notebook

Screenshots

image C# code cannot be executed

jonsequitur commented 1 year ago

The screen shot is showing that you're running code using the .NET Interactive Notebooks extension in VS Code. This doesn't use or require JupyterLab or the dotnet-interactive global tool installed on the command line, since the VS Code extension installs its own copy of dotnet-interactive.

Can you check to see whether a VS Code or extension update was pending? When the extension becomes unresponsive, this is the most common reason.

calebjacobo commented 1 year ago

I don't know if this is related, but I am running Pop_OS and I'm having the same issue. I am trying to use .Net Interactive Notebook, but anything I enter into the cell causes it to just load and load. When I check the .net interactive diagnostics output, I see:

Starting kernel for 'untitled:Untitled-1.dib?dotnet-interactive' using: dotnet tool run dotnet-interactive -- [vscode] stdio --working-dir /home/calebjacobo/Downloads Kernel for 'untitled:Untitled-1.dib?dotnet-interactive' started (15076). kernel (15076) stderr: Unhandled exception: kernel (15076) stderr: System.IO.FileNotFoundException: Could not load file or assembly 'System.Management.Automation, Version=7.2.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. The system cannot find the file specified.

Here is my info:

`Runtime Environment: OS Name: pop OS Version: 22.04 OS Platform: Linux RID: ubuntu.22.04-x64 Base Path: /usr/lib/dotnet/dotnet6-6.0.109/sdk/6.0.109/

global.json file: Not found

Host: Version: 6.0.9 Architecture: x64 Commit: 163a63591c

.NET SDKs installed: 6.0.109 [/usr/lib/dotnet/dotnet6-6.0.109/sdk]

.NET runtimes installed: Microsoft.AspNetCore.App 6.0.9 [/usr/lib/dotnet/dotnet6-6.0.109/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 6.0.9 [/usr/lib/dotnet/dotnet6-6.0.109/shared/Microsoft.NETCore.App] `

I've tried installing VS Code from the direct .deb download and from snap. I've done clean installs, removed all extensions, etc. But no matter what I do, I can't get the interactive notebook to work. The kernel just keeps dying.

calebjacobo commented 1 year ago

I tried all night to get this working with no luck. I'm new to Linux, so it may be something obvious. Does this have to do with C# requiring https?

Philip-Wong commented 1 year ago

I re-install linux. This time i just installed vscode and the extension .net interactive then it works. The problem before I think is from Jupyter

jonsequitur commented 1 year ago

@calebjacobo This is VS Code, not JupyterLab. The installation is different for these two different frontends.

Which versions of VS Code and the .NET Interactive Notebooks extensions are you seeing this with?

calebjacobo commented 1 year ago

@jonsequitur Im using the newest version of VS Code available as .deb from the VS code site: code_1.71.2-1663191218_amd64

I’m also using the newest .NET interactive notebooks extension.

Any time I try to create a new notebook for c# the server starts then immediately ends.

calebjacobo commented 1 year ago

I’ve tried uninstalling VS Code and doing a clean install, removing all extensions, installing different versions of the extensions, I still get the same error I posted above.

calebjacobo commented 1 year ago

I can try doing a clean install of POP_OS and see if it helps?

calebjacobo commented 1 year ago

@jonsequitur Should I make a separate issue for this?

I did a clean install of the OS, and I'm getting the same issue.

I installed the dotnet SDK, VS Code, and the .Net Interactive Notebook extension, and that's it. I try to create a new blank notebook and the server starts, then stops with an error. I'm pasting that console output below:

`Starting kernel for 'untitled:Untitled-1.dib?dotnet-interactive' using: dotnet tool run dotnet-interactive -- [vscode] stdio --working-dir /home/calebjacobo/Downloads Kernel for 'untitled:Untitled-1.dib?dotnet-interactive' started (10299). kernel (10299) stderr: Unhandled exception: kernel (10299) stderr: System.IO.FileNotFoundException: Could not load file or assembly 'System.Management.Automation, Version=7.2.6.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. The system cannot find the file specified.

File name: 'System.Management.Automation, Version=7.2.6.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' at Microsoft.DotNet.Interactive.PowerShell.PowerShellKernel..ctor() at Microsoft.DotNet.Interactive.App.CommandLine.CommandLineParser.CreateKernel(String defaultKernelName, FrontendEnvironment frontendEnvironment, StartupOptions startupOptions) in D:\a_work\1\s\src\dotnet-interactive\CommandLine\CommandLineParser.cs:line 466 at Microsoft.DotNet.Interactive.App.CommandLine.CommandLineParser.<>cDisplayClass5_0.<b__19>d.MoveNext() in D:\a_work\1\s\src\dotnet-interactive\CommandLine\CommandLineParser.cs:line 311 --- End of stack trace from previous location --- at System.CommandLine.NamingConventionBinder.CommandHandler.GetExitCodeAsync(Object returnValue, InvocationContext context) at System.CommandLine.NamingConventionBinder.ModelBindingCommandHandler.InvokeAsync(InvocationContext context) at System.CommandLine.Invocation.InvocationPipeline.<>cDisplayClass4_0.<b0>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>cDisplayClass17_0.<b0>d.MoveNext() --- End of stack trace from previous location --- at Microsoft.DotNet.Interactive.App.CommandLine.CommandLineParser.<>cDisplayClass5_0.<b2>d.MoveNext() in D:\a_work\1\s\src\dotnet-interactive\CommandLine\CommandLineParser.cs:line 162 --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>cDisplayClass12_0.<b0>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>cDisplayClass22_0.<b0>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>cDisplayClass19_0.<b0>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<b18_0>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>cDisplayClass16_0.<b0>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<b5_0>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>cDisplayClass8_0.<b__0>d.MoveNext()`

Here is my SDK info:

.NET SDK (reflecting any global.json): Version: 6.0.109 Commit: 58a93139d8

Runtime Environment: OS Name: pop OS Version: 22.04 OS Platform: Linux RID: ubuntu.22.04-x64 Base Path: /usr/lib/dotnet/dotnet6-6.0.109/sdk/6.0.109/

global.json file: Not found

Host: Version: 6.0.9 Architecture: x64 Commit: 163a63591c

.NET SDKs installed: 6.0.109 [/usr/lib/dotnet/dotnet6-6.0.109/sdk]

.NET runtimes installed: Microsoft.AspNetCore.App 6.0.9 [/usr/lib/dotnet/dotnet6-6.0.109/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 6.0.9 [/usr/lib/dotnet/dotnet6-6.0.109/shared/Microsoft.NETCore.App]

Download .NET: https://aka.ms/dotnet-download

Learn about .NET Runtimes and SDKs: https://aka.ms/dotnet/runtimes-sdk-info

VS Code info:

Version: 1.71.2 Commit: 74b1f979648cc44d385a2286793c226e611f59e7 Date: 2022-09-14T21:12:14.256Z Electron: 19.0.12 Chromium: 102.0.5005.167 Node.js: 16.14.2 V8: 10.2.154.15-electron.0 OS: Linux x64 5.18.10-76051810-generic Sandboxed: No

Extension info:

Name: .NET Interactive Notebooks Id: ms-dotnettools.dotnet-interactive-vscode Description: .NET Interactive Notebooks for VS Code. Git SHA ff15cb3ae196f03a73d8e158908371b561058c3f Version: 1.0.3452020 Publisher: Microsoft VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.dotnet-interactive-vscode

calebjacobo commented 1 year ago

I made a new issue for this, since my problem seems to be different: https://github.com/dotnet/interactive/issues/2299

jonsequitur commented 1 year ago

Can this issue be closed then @Philip-Wong?