jupyter / jupyter_console

Jupyter Terminal Console

Home Page:http://jupyter-console.readthedocs.io/en/latest/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SBCL say "Package QL does not exist."

harupiyo opened this issue · comments

Hello,

I try to setup 'clj' on roswell, but SBCL say "Package QL does not exist.".

It is SBCL on roswell, so it should not be that Quicklisp is not included.
I can also check by doing the following:

$ ros run
* (find-package :ql)
#<PACKAGE "QUICKLISP-CLIENT">

Is there anything I should do?

Report

Jupyter Console

$ jupyter-console --kernel=common-lisp

This is SBCL 2.1.9, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.

debugger invoked on a SB-INT:SIMPLE-READER-PACKAGE-ERROR in thread
#<THREAD "main thread" RUNNING {1001540103}>:
  Package QL does not exist.					<---- ERROR.

    Stream: #<dynamic-extent STRING-INPUT-STREAM (unavailable) from "(ql:quic...">

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [CONTINUE ] Use the current package, COMMON-LISP-USER.
  1: [RETRY    ] Retry finding the package.
  2: [USE-VALUE] Specify a different package
  3: [UNINTERN ] Read the symbol as uninterned.
  4: [SYMBOL   ] Specify a symbol to return
  5:             Ignore runtime option --eval "(ql:quickload :common-lisp-jupyter)".
  6: [ABORT    ] Skip rest of --eval and --load options.
  7:             Skip to toplevel READ/EVAL/PRINT loop.
  8: [EXIT     ] Exit SBCL (calling #'EXIT, killing the process).

(SB-IMPL::READER-FIND-PACKAGE "QL" #<SB-IMPL::STRING-INPUT-STREAM {7F89FE877993}> T)
0] 
* ^C				<---- The REPL cannot be used and can only be interrupted.

(Python3 on Jupyter Console can't run.)

I don't think it's related, about Python3, the Jupyter Console has an Issue #241
and doesn't work in Python3. (I don't think this is related because the error is different.)

$ jupyter-console 
Jupyter console 6.4.0

Python 3.8.10 (default, Sep 28 2021, 16:10:42) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.28.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: "hello"[Enter]/home/harupiyo/.local/lib/python3.8/site-packages/jupyter_console/ptshell.py:852: RuntimeWarning: coroutine 'ZMQSocketChannel.msg_ready' was never awaited
  while self.client.iopub_channel.msg_ready():
RuntimeWarning: Enable tracemalloc to get the object allocation traceback

Unhandled exception in event loop:
	(Backtrace)
	... >8  ...

Jupyter Lab

In Jupyter Lab, Python3 works correctly.
But the SBCL says

  1. "Package QL does not exist."
  2. SBCL then seems to reboot, repeating the same error and displaying a banner saying to restart SBCL.
  3. Eventually, the Kernel dies and the message "SBCL" -> "No Kernel" changes in Jupyter Lab, and SBCL will not restart any more.

For your reference, here is a video of the process.
https://youtu.be/UvlDT_UnHu0

My PC's Setup log:

  • Ubuntu 20.04 on VirtualBox (Clean Install)
$ sudo apt install -y gcc make perl

# roswell

$ sudo apt -y install git build-essential automake libcurl4-openssl-dev
$ git clone -b release https://github.com/roswell/roswell.git
$ cd roswell
$ sh bootstrap
$ ./configure
$ make
$ sudo make install
$ ros setup
$ cd ~/

# common-lisp-jupyter

$ sudo apt install -y libczmq-dev
$ mkdir ~/common-lisp

## ref: https://github.com/yitzchak/common-lisp-jupyter/blob/master/Dockerfile#L74

$ git clone https://github.com/yitzchak/common-lisp-jupyter ~/common-lisp/common-lisp-jupyter
$ git clone https://github.com/yitzchak/shash ~/common-lisp/shasht
$ git clone https://github.com/yitzchak/cytoscape-clj ~/common-lisp/cytoscape-clj
$ git clone https://github.com/yitzchak/resizable-box-clj ~/common-lisp/resizable-box-clj

## examples

$ mv ~/common-lisp/common-lisp-jupyter/examples ~/lab
$ mv ~/common-lisp/cytoscape-clj/examples ~/lab/cytoscape-clj
	
## Install 

$ ros run -- --non-interactive --eval "(ql:quickload '(:common-lisp-jupyter :cytoscape-clj :resizable-box-clj))" --eval "(clj:install :use-implementation t)"; 

# Jupyter Lab & Jupyter Console

$ sudo apt install -y python3-pip
$ pip install jupyterlab jupyter-console
$ echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
$ export PATH="$HOME/.local/bin:$PATH"

## Jupyter Lab Extensions

### node.js(v14) for jupyterlab-debugger-restarts

$ sudo apt install -y curl
$ curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
$ sudo apt install -y nodejs

### ref: https://github.com/yitzchak/common-lisp-jupyter/blob/master/Dockerfile#L49

$ jupyter-labextension install @jupyter-widgets/jupyterlab-manager jupyterlab-edit-magic cytoscape-clj resizable-box-clj jupyterlab-debugger-restarts
$ jupyter-lab build

# Starting Jupyter Console

$ cd ~/lab
$ jupyter-console --kernel=common-lisp

This is SBCL 2.1.9, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.

debugger invoked on a SB-INT:SIMPLE-READER-PACKAGE-ERROR in thread
#<THREAD "main thread" RUNNING {1001540103}>:
  Package QL does not exist.										<---- ERROR.

    Stream: #<dynamic-extent STRING-INPUT-STREAM (unavailable) from "(ql:quic...">

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [CONTINUE ] Use the current package, COMMON-LISP-USER.
  1: [RETRY    ] Retry finding the package.
  2: [USE-VALUE] Specify a different package
  3: [UNINTERN ] Read the symbol as uninterned.
  4: [SYMBOL   ] Specify a symbol to return
  5:             Ignore runtime option --eval "(ql:quickload :common-lisp-jupyter)".
  6: [ABORT    ] Skip rest of --eval and --load options.
  7:             Skip to toplevel READ/EVAL/PRINT loop.
  8: [EXIT     ] Exit SBCL (calling #'EXIT, killing the process).

(SB-IMPL::READER-FIND-PACKAGE "QL" #<SB-IMPL::STRING-INPUT-STREAM {7F89FE877993}> T)
0] 
* ^C

This issue is about Common Lisp, so this issue was inappropriate.

I posted this in the wrong place.

I'm sorry.
I'll take it down.

This issue is about Common Lisp, so this issue was inappropriate.

I posted this in the wrong place.

I'm sorry. I'll take it down.

can you kindly share how you resolve this? i am facing the same issue... thx!