JuliaLang / IJulia.jl

Julia kernel for Jupyter
MIT License
2.78k stars 409 forks source link

kernel not starting on Mac #1068

Closed ctkelley closed 1 year ago

ctkelley commented 1 year ago

I can't get a kernel with either 1.9-rc1 or 1.8.5. I have tried

build IJulia

and starting over with an empty .julia directory. The latter step has always worked before. I'm getting a banner on the top of the notebook about Notebook 7. Could that be part of the problem.

I'm on a Mac Mini, M2 pro, latest OS.

I added my woes to the older issue #1062, but it seems that it's closed and nobody is looking at it.

ctkelley commented 1 year ago

I was able to open an empty notebook and get a kernel with 1.9-rc1, but my older ones will not connect to a kernel. Is there something I need to do that goes beyond changing the kernel?

This happens even if I try to open the older notebook from the empty one with a running kernel

The red "not connected" box just sits there.

ctkelley commented 1 year ago

I finally got 1.8.5 working for some, but not all, of my notebooks. The kernel takes a very long time to load, but it finally does, when it works, after reporting failure several times.

I think the notebooks that fail were built with versions prior to 1.8. I have also tried 1.6.7 with no success.

With 1.9-rc1 I am unable to open an existing notebook even if I set the kernel to 1.8.5.

ctkelley commented 1 year ago

Sorry for posting twice. Posted this on the closed issue by mistake.

I am at a loss. Nothing works consistently and I have no idea how to proceed. I cannot find the .json file. I have tried taking out

ENV["PYTHON"]="" ENV["CONDA_JL_USE_MINIFORGE"] = "1" out of my startup.jl, but that did not seem to change anything. I can only hope that this gets fixed eventually. As it stands now, I cannot use IJulia. Even if I create a new notebook, I can't reopen it later.

I tried using the Intel builds with Rosetta, and got similar results.

stevengj commented 1 year ago

It's obviously not the same problem as #1062, because (a) that didn't affect Julia 1.8 and (b) it was fixed for 1.9. Misdiagnosing the problem does not help us to help you.

IJulia works fine for me on M4 macs, so it's hard to say what the problem is on your machine.

ctkelley commented 1 year ago

Is there anything I can do to clarify this issue?C. T. @. Mar 24, 2023, at 4:05 PM, Steven G. Johnson @.> wrote: It's obviously not the same problem as #1062, because (a) that didn't affect Julia 1.8 and (b) it was fixed for 1.9. Misdiagnosing the problem does not help us to help you. IJulia works fine for me on M4 macs, so it's hard to say what the problem is on your machine.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

ctkelley commented 1 year ago

Telling me everything works for you on Macs helped. So ...

I started completely from scratch. Started 1.8.5 with an empty .julia directory. I only installed IJulia and PyPlot.

Then I successfully started IJulia and made a three line notebook.

Test_IJulia - Jupyter Notebook.pdf

I could close and restart the notebook from the same Julia session. I closed the REPL and tried to open the same notebook from IJulia in the new Julia session and that worked.

Then I tried the same thing with

notebook(;dir=pwd())

and all was well.

I copied the .ipynb file to my Dropbox directory and fired up IJulia from my home direction and tried to open the file in the Dropbox directory. At that point IJulia found the kernel and all was well.

Whan I started from the Dropbox directory and did

notebook(;dir=pwd())

I got a kernel (after a fairly long wait) and the notebook worked.

Then I moved the kernel to a subdirectory of the Dropbox directory. I tried

notebook(;dir=pwd())

and could not get a kernel.

I also tried

notebook()

from my home directory and navigated to the Dropbox subdirectory. I could not get a kernel.

Finally, I copied the Dropbox subdirectory to my home directory. Tried

notebook(;dir=pwd())

from the copied subdirectory, and failed to get a kernel.

This is all I can tell you. If this is a Dropbox or subdirectory issue that you know about, telling me about that would be useful. If a stack trace would help, please tell me how to get one of those.

stevengj commented 1 year ago

Then I moved the kernel to a subdirectory of the Dropbox directory.

I don't understand what you mean by this. You can't just move the IJulia kernel to a different directory and expect it to work. Or do you mean something different by "kernel" here? What exactly did you move?

The dir argument in notebook(;dir=pwd()) is not the directory of the kernel. It is the directory where Jupyter looks for .ipynb files.

ctkelley commented 1 year ago

Sorry. "move the kernel" means start over with julia in the Dropbox directory.

I am still trying to figure out the problem. I think that the failure consistently happens when I try to open a notebook in a directory that contains a notebook build with a pre 1.8 version of Julia. If that is the issue, I can fix my immediate problem by copying the old notebook one cell at a time into a new one in a different directory.

Is there any reason why an old notebook could cause problems? I deleted the version of Julia that created this notebook long ago.

ctkelley commented 1 year ago

I tried to copy a notebook I just created into one of the problem directories with an old notebook in it. I got a popup about token authentication

Jupyter Notebook.pdf

I get nothing with I type jupyter notebook list on this MAC. I have been letting Julia deal with python for me and did not expect this.

ctkelley commented 1 year ago

I cannot create or open notebooks in any directory with old notebooks in it. Nor can I do that in the subdirectories. Even if I move a notebook I just made into a directory with an old notebook, I can't open it after the move. When I move the new notebook out, then I can open it.

This behavior seems to be completely consistent.

Can an old notebook somehow poison a directory?

stevengj commented 1 year ago

Sorry. "move the kernel" means start over with julia in the Dropbox directory.

As explained in the docs, if you move the julia binary, you need to re-build IJulia: https://julialang.github.io/IJulia.jl/stable/manual/installation/#Updating-Julia-and-IJulia

ctkelley commented 1 year ago

I'm not being clear. I never moved julia out of /Applications. I just started Julia in different locations from a terminal windoe.

ctkelley commented 1 year ago

The problem directories were projects with the old formal for Manifest.toml. This seems to be the problem and I fixed it by reactivating the project and generating a new Manifest.toml.

I'm closing this issue. I can't figure out why IJulia knew about the Manifest.toml file, but it looks like it did.