rmculpepper / iracket

Jupyter kernel for Racket
BSD 3-Clause "New" or "Revised" License
95 stars 14 forks source link

Error in installation on Windows 10 - #12

Open pritesh-shrivastava opened 3 years ago

pritesh-shrivastava commented 3 years ago

I've tried to provide the path of the Jupyter exe file using the following command:

(base) PS C:\Windows\system32> jupyter --data-dir
> C:\Users\yashi\AppData\Roaming\jupyter

Then, I've tried to register IRacket with Jupyter using the --jupyter-exe flag:

PS C:\Windows\system32> raco iracket install --jupyter-exe C:\Users\yashi\AppData\Roaming\jupyter          
> Received non-zero exit code from jupyter command.
naviabbot commented 3 years ago

Can replicate

rmculpepper commented 3 years ago

The argument to the --jupypter-exe flag is the complete path to the Jupyter executable, not to its data directory. If the jupyter command is in your path, you should be able to just call raco iracket install. What happens when you try that?

pritesh-shrivastava commented 3 years ago

Both jupyter and racket are in the path of the Anaconda Powershell Prompt, running as administrator. Here's the output if I dont provide --jupyter-exe flag -

(base) PS C:\Windows\system32> raco iracket install
Cannot find jupyter executable.

Also, here's the path to Jupyter runtime

(base) PS C:\Windows\system32> jupyter --runtime-dir
C:\Users\yashi\AppData\Roaming\jupyter\runtime

Now, using the runtime path also gives the same error.

(base) PS C:\Windows\system32> raco iracket install --jupyter-exe C:\Users\yashi\AppData\Roaming\jupyter\runtime
Received non-zero exit code from jupyter command.

Which file path should I use for Jupyter?

rmculpepper commented 3 years ago

You need to find where jupyter.exe is installed and provide the complete path to that executable file (not just the directory part) as the argument to --jupyter-exe. That is, the argument should end with jupyter.exe.

pritesh-shrivastava commented 3 years ago

I found the jupyter.exe file in the conda packages folder. I'm getting a different error now.

(base) PS C:\Windows\system32> raco iracket install --jupyter-exe C:\Users\yashi\.conda\pkgs\jupyter_core-4.7.0-py38haa244fe_0\Scripts\jupyter.exe
Unable to create process using 'C:\Users\yashi\.conda\pkgs\jupyter_core-4.7.0-py38haa244fe_0\python.exe C:\Users\yashi\.conda\pkgs\jupyter_core-4.7.0-py38haa244fe_0\Scripts\jupyter-script.py --data-dir'
Received non-zero exit code from jupyter command.

This path also contants the jupyter-script.py file but not the python.exe file. That could be causing this error. But Python is included in the system path already.

Nekailrii commented 3 years ago

I found the jupyter.exe file in the conda packages folder. I'm getting a different error now.

(base) PS C:\Windows\system32> raco iracket install --jupyter-exe C:\Users\yashi\.conda\pkgs\jupyter_core-4.7.0-py38haa244fe_0\Scripts\jupyter.exe
Unable to create process using 'C:\Users\yashi\.conda\pkgs\jupyter_core-4.7.0-py38haa244fe_0\python.exe C:\Users\yashi\.conda\pkgs\jupyter_core-4.7.0-py38haa244fe_0\Scripts\jupyter-script.py --data-dir'
Received non-zero exit code from jupyter command.

This path also contants the jupyter-script.py file but not the python.exe file. That could be causing this error. But Python is included in the system path already.

I was having the same issue, however I found second executable named jupyter.exe under:

C:\Users\user_name\anaconda3\Scripts

When I ran in powershell:

PS C:\Users\user_name> raco iracket install --jupyter-exe C:\Users\user_name\anaconda3\Scripts\jupyter.exe   
Kernel installed in "C:\\Users\\user_name\\AppData\\Roaming\\jupyter\\kernels\\racket"

I encountered no issues and was able to use the iracket kernel.

pgdanes commented 3 years ago

I encountered the same problem trying to install it on windows.

It seems to be the behaviour of (find-executable-path) on windows is affecting this segment

(define (get-jupyter-exe [fail-ok? #f])
  (or (*use-jupyter-exe*)
      (find-executable-path "jupyter")
      (if fail-ok? #f (raise-user-error "Cannot find jupyter executable."))))
> (find-executable-path "jupyter")
#f
> (find-executable-path "jupyter.exe")
#<path:C:\Users\...\miniconda3\Scripts\jupyter.exe>

Would it be worth adding in a flag for windows specific installations?

rmculpepper commented 3 years ago

Thanks @pgdanes, I've pushed a fix for the executable name on Windows.