joouha / euporie

Jupyter notebooks in the terminal
https://euporie.readthedocs.io
MIT License
1.54k stars 36 forks source link

No Kernels Found Error #89

Closed Ha5hBr0wn closed 5 months ago

Ha5hBr0wn commented 11 months ago

Whenever I try to open a notebook I get a warning that looks like the image below:

image

Steps to replicate:

install brew with curl install pipx with brew install euporie with pipx pip install --user ipykernel

all of the above is done with the suggested command from my ~ dir

I also added all the suggested paths to my $PATH from each installation

How can I run code? Also I thought the whole point of pipx was to install all required packages in an isolated venv that the executable uses, so why am I even executing pip install --user ipykernel in the first place?

Ha5hBr0wn commented 11 months ago

Okay I made some progress. So it looks like to install packages for the pipx environment one has to activate the venv and then run python -m pip install ipykernel (not just pip install, otherwise won't install for venv)

Now when I open a notebook file the editor immediately print some error lines which disappear instantly so I can't read them and then shows the editor (I can type in it but I can't execute code, nor is the menu bar visible so I just quit by closing the entire terminal window)

joouha commented 11 months ago

There's quite a lot going on here!

Euporie does not pull in any Jupyter kernels as dependencies - it's a Jupyter client, but you need to install a kernel yourself.

A Jupyter kernel does not have to be Python - there are kernels for many programming languages. ipykernel is a Jupyter kernel for the Python programming language. While it is technically possible to instally ipykernel inside your euporie pipx virtual-environment, it's almost certainly not what you want to do (you might want to uninstall it from the pipx virtual-environment). You probably want your Python kernel to be installed in your system-wide Python prefix.

You can do this by running the following (without any virtual environment activated):

pip install --upgrade ipykernel

You then need to register this ipykernel installation as your Python kernel of choice, which you can do by running the following:

python -m ipykernel install --user

Then you should be able to run code in euporie.


You can quit euporie by pressing Ctrl + q.

SimiPixel commented 10 months ago

Exactly the same procedure but including a final python -m ipykernel install --user gives the following error message

Screenshot 2023-08-23 at 11 05 54

(the copy traceback button also doesn't do anything)

Any ideas how to provide good debugging information?

Also, iterm2 also doesn't allow for any keybinding to execute cells.

joouha commented 8 months ago

Also, iterm2 also doesn't allow for any keybinding to execute cells.

Ctrl+e and Ctrl+r should work.

Any ideas how to provide good debugging information?

If you run euporie-notebook with --log-level=debug --log-file=euporie.log, then debug info will be logged to the file euporie.log.

The main cause of the kernel related errors (as described in #75) should have been fixed by 3a5e39f7ccb762496c8d7f5728daf49ea5a1a213. I'll be making a new release with this pretty soon.

joouha commented 5 months ago

Should be fixed, please open a new issues if you're still experiencing problems with the latest version of euporie