jupyterlite / xeus-python-demo

JupyterLite template repository with xeus-python as default kernel
https://jupyterlite.github.io/xeus-python-demo/
44 stars 12 forks source link

Cannot build xeus-python-demo #39

Open connorferster opened 3 weeks ago

connorferster commented 3 weeks ago

Description

I am trying to build the xeus-python-demo locally but I am getting this strange error (extracted from much larger traceback, included below).

conda.auxlib.exceptions.ValidationError: 'emscripten' is not a valid Platform

I tried building it last night with the same result. And, after I hit this error, whenever I ran other commands in conda, e.g. conda create -n myenvname python=3.12, the commands would not run and I would get the same error! (Weird, yeah?)

Because it seemed like my miniconda3 installation was now broken, I completely removed conda (and all of my many environments), and re-installed conda anew from miniforge3 (which I had been meaning to do that anyway).

I just tried cloning the repo again fresh and installing it locally into a fresh conda environment. As before, the kernel did not install after running jupyter lite build. So I executed conda install xeus-python to install the xeus kernel into my conda environment. When I then ran jupyter lite build again, a completely different series of screens flashed by and then I got the same error as shown above (full stack trace below).

Get this! Now, again, my conda installation seems to be broken because I can no longer run conda create -n myenvname python=3.12 without it ending in the same error.

The conda-breaking part of this is probably an upstream issue as well but I could really use some guidance on what is happening here. How can I fix this? Are there any build steps I am missing?

Reproduce

  1. Install latest miniforge3 on ubuntu
  2. conda create -n jupyterlite python=3.12
  3. conda activate jupyterlite
  4. git clone https://github.com/jupyterlite/xeus-python-demo.git
  5. cd xeus-python-demo
  6. conda install jupyterlite-core
  7. jupyter lite build -> Successfully builds Jupyterlite but without kernels
  8. conda install xeus-python
  9. jupyter lite build

CRASH

(See traceback below)

Expected behavior

Jupyterlite builds with xeus-python kernel and I am enjoying an excellent piece of new technology running in my browser! (Wow)

Context

Traceback
(jupyterlite)  connorferster@pop-os  ~/code/jupyterlite-xeus-python   main ±  jupyter lite build
static:jupyter-lite.json
.  pre_status:static:jupyter-lite.json
    tarball:         jupyterlite-app-0.3.0.tgz 13MB
    output:          /home/connorferster/code/jupyterlite-xeus-python/_output
    lite dir:        /home/connorferster/code/jupyterlite-xeus-python
    apps:            
    sourcemaps:      True
    unused packages: True
archive:archive
contents:contents
icons:icons
lite:jupyter-lite.json
mimetypes:jupyter-lite.json
serve:contents
settings:overrides
translation:translation
.  status:archive:archive
[LiteBuildApp] No archive (yet): jupyterlite-xeus-python-jupyterlite.tgz
.  status:contents:contents
    contents: 0 files
.  status:icons:icons
    favicon files: 0 files
.  status:lite:jupyter-lite.json
[LiteBuildApp]     jupyter-lite.(json|ipynb): 0 files
.  status:mimetypes:jupyter-lite.json
    filetypes:         26 
.  status:serve:contents
    url: http://127.0.0.1:8000/
    server: tornado
    headers:
.  status:settings:overrides
    overrides.json: 0
.  status:translation:translation
    translation files: 2 files
static:output_dir
-- pre_init:static:output_dir
static:unpack
-- init:static:unpack
federated_extensions:copy:ext:jupyterlab_pygments
federated_extensions:copy:ext:@jupyterlite/xeus
.  pre_build:federated_extensions:copy:ext:jupyterlab_pygments
.  pre_build:federated_extensions:copy:ext:@jupyterlite/xeus
icons:copy
/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/jupyterlite_core/addons/translation.py:88: UserWarning: [lite] [translation] install `jupyterlab_server` to load translations: No module named 'jupyterlab_server'
  if not self.is_sys_prefix_ignored() and has_optional_dependency(
translation:copy
.  build:icons:copy
-- build:translation:copy
federated_extensions:patch
federated_extensions:settings

Looking for: []

Preparing transaction: done
Verifying transaction: done
Executing transaction: done

To activate this environment, use

     $ mamba activate /tmp/tmpwsk5p5rz/env/envs/xeus-python-kernel

To deactivate an active environment, use

     $ mamba deactivate

Looking for: ['xeus-python', 'forallpeople', 'ipycanvas']

https://repo.mamba.pm/emscripten-forge/emscripte..  0.9s
https://repo.mamba.pm/emscripten-forge/noarch (c..  Checked  0.3s
warning  libmamba Could not parse mod/etag header
[+] 0.3s
conda-forge/emscripten-wasm32                            ━━━━━━━╸━━━━━━━━━━   0.0 B @  ??.?MB/s  0.3s
conda-forge/emscripten-wasm32                      @  ??.?MB/s 404 failed  0.3s
https://repo.mamba.pm/emscripten-forge/emscripte.. @  74.3kB/s  0.6s
https://repo.mamba.pm/emscripten-forge/noarch        1.9kB @   2.3kB/s  0.8s
conda-forge/noarch                                  15.2MB @  18.3MB/s  0.9s
Transaction

  Prefix: /tmp/tmpwsk5p5rz/env/envs/xeus-python-kernel

  Updating specs:

   - xeus-python
   - forallpeople
   - ipycanvas

  Package                  Version  Build              Channel                              Size
──────────────────────────────────────────────────────────────────────────────────────────────────
  Install:
──────────────────────────────────────────────────────────────────────────────────────────────────

  + pillow                  10.3.0  hf51ec75_0         repo.mamba.pm/emscripten-forge        1MB
  + pyjs                     2.1.0  py311hd5f3483_7    repo.mamba.pm/emscripten-forge        4MB
  + emscripten-abi          3.1.45  h267e887_29        repo.mamba.pm/emscripten-forge       11kB
  + python                  3.11.3  h_hash_24_cpython  repo.mamba.pm/emscripten-forge       13MB
  + wheel                   0.43.0  pyhd8ed1ab_1       conda-forge                        Cached
  + setuptools              70.1.1  pyhd8ed1ab_0       conda-forge                        Cached
  + pip                       24.0  pyhd8ed1ab_0       conda-forge                        Cached
  + six                     1.16.0  pyh6c4a22f_0       conda-forge                        Cached
  + parso                    0.8.4  pyhd8ed1ab_0       conda-forge                        Cached
  + ptyprocess               0.7.0  pyhd3deb0d_0       conda-forge                        Cached
  + wcwidth                 0.2.13  pyhd8ed1ab_0       conda-forge                        Cached
  + pure_eval                0.2.2  pyhd8ed1ab_0       conda-forge                        Cached
  + executing                2.0.1  pyhd8ed1ab_0       conda-forge                        Cached
  + typing_extensions       4.12.2  pyha770c72_0       conda-forge                        Cached
  + traitlets               5.14.3  pyhd8ed1ab_0       conda-forge                        Cached
  + pygments                2.18.0  pyhd8ed1ab_0       conda-forge                        Cached
  + decorator                5.1.1  pyhd8ed1ab_0       conda-forge                        Cached
  + backcall                 0.2.0  pyh9f0ad1d_0       conda-forge                          14kB
  + xeus-python-shell-raw    0.6.3  pyhd8ed1ab_0       conda-forge                          12kB
  + pickleshare              0.7.5  py_1003            conda-forge                        Cached
  + widgetsnbextension      4.0.11  pyhd8ed1ab_0       conda-forge                           1MB
  + jupyterlab_widgets      3.0.11  pyhd8ed1ab_0       conda-forge                         186kB
  + forallpeople             2.6.7  pyhd8ed1ab_0       conda-forge                          36kB
  + asttokens                2.4.1  pyhd8ed1ab_0       conda-forge                        Cached
  + jedi                    0.19.1  pyhd8ed1ab_0       conda-forge                        Cached
  + pexpect                  4.9.0  pyhd8ed1ab_0       conda-forge                        Cached
  + prompt-toolkit          3.0.47  pyha770c72_0       conda-forge                        Cached
  + comm                     0.2.2  pyhd8ed1ab_0       conda-forge                        Cached
  + matplotlib-inline        0.1.7  pyhd8ed1ab_0       conda-forge                        Cached
  + stack_data               0.6.2  pyhd8ed1ab_0       conda-forge                        Cached
  + numpy                    2.0.0  py311hc8e14bb_0    repo.mamba.pm/emscripten-forge        7MB
  + ipython                 8.25.0  py311hf215df6_1    repo.mamba.pm/emscripten-forge        2MB
  + xeus-python-shell        0.6.3  pyhd8ed1ab_0       conda-forge                           7kB
  + ipywidgets               8.1.3  pyhd8ed1ab_0       conda-forge                         114kB
  + ipycanvas               0.13.2  pyhd8ed1ab_0       conda-forge                          57kB
  + xeus-python             0.17.0  py311h8776317_6    repo.mamba.pm/emscripten-forge        4MB

  Summary:

  Install: 36 packages

  Total download: 33MB

──────────────────────────────────────────────────────────────────────────────────────────────────

backcall                                            13.7kB @ 169.7kB/s  0.1s
widgetsnbextension                                   1.1MB @   5.1MB/s  0.1s
emscripten-abi                                      10.9kB @   7.2kB/s  1.5s
forallpeople                                        35.9kB @  21.5kB/s  0.2s
pyjs                                                 4.0MB @   1.3MB/s  3.1s
jupyterlab_widgets                                 186.5kB @  56.9kB/s  0.1s
ipycanvas                                           57.1kB @  17.1kB/s  0.1s
xeus-python-shell                                    6.7kB @   2.0kB/s  0.1s
numpy                                                7.5MB @   1.9MB/s  3.7s
xeus-python-shell-raw                               11.7kB @   3.0kB/s  0.1s
ipywidgets                                         113.8kB @  28.4kB/s  0.1s
pillow                                               1.1MB @ 242.3kB/s  4.7s
python                                              13.2MB @   2.5MB/s  5.3s
ipython                                              1.6MB @ 292.3kB/s  2.1s
xeus-python                                          3.8MB @ 319.8kB/s 10.3s
'emscripten' is not a valid Platform

# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<

    Traceback (most recent call last):
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/exception_handler.py", line 17, in __call__
        return func(*args, **kwargs)
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/mamba/mamba.py", line 959, in exception_converter
        raise e
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/mamba/mamba.py", line 952, in exception_converter
        exit_code = _wrapped_main(*args, **kwargs)
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/mamba/mamba.py", line 898, in _wrapped_main
        result = do_call(parsed_args, p)
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/mamba/mamba.py", line 763, in do_call
        exit_code = install(args, parser, "install")
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/mamba/mamba.py", line 569, in install
        handle_txn(conda_transaction, prefix, args, newenv)
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/mamba/linking.py", line 38, in handle_txn
        unlink_link_transaction.download_and_extract()
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/core/link.py", line 255, in download_and_extract
        self._pfe.execute()
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 771, in execute
        self.prepare()
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/common/io.py", line 85, in decorated
        return f(*args, **kwds)
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 750, in prepare
        self.paired_actions.update(
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 751, in 
        (prec, self.make_actions_for_record(prec)) for prec in largest_first
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 595, in make_actions_for_record
        extracted_pcrec = next(
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 596, in 
        (
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 599, in 
        PackageCacheData(pkgs_dir).query(pref_or_spec)
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 166, in query
        for pcrec in self._package_cache_records.values()
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 306, in _package_cache_records
        self.load()
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 127, in load
        package_cache_record = self._make_single_record(base_name)
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 369, in _make_single_record
        package_cache_record = PackageCacheRecord.from_objects(
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/auxlib/entity.py", line 790, in from_objects
        return cls(**init_vars)
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/auxlib/entity.py", line 743, in __call__
        instance = super().__call__(*args, **kwargs)
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/models/records.py", line 418, in __init__
        super().__init__(*args, **kwargs)
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/auxlib/entity.py", line 759, in __init__
        setattr(self, key, kwargs[key])
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/auxlib/entity.py", line 428, in __set__
        self.box(instance, instance.__class__, val),
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/auxlib/entity.py", line 570, in box
        raise ValidationError(val, msg=e1)
    conda.auxlib.exceptions.ValidationError: 'emscripten' is not a valid Platform

`$ /home/connorferster/miniforge3/condabin/mamba install --yes --prefix /tmp/tmpwsk5p5rz/env/envs/xeus-python-kernel -c https://repo.mamba.pm/emscripten-forge -c conda-forge xeus-python forallpeople ipycanvas`

  environment variables:
                 CIO_TEST=
                  CONDARC=/tmp/tmpwsk5p5rz/env/envs/xeus-python-kernel/.condarc
        CONDA_DEFAULT_ENV=jupyterlite
                CONDA_EXE=/home/connorferster/miniforge3/bin/conda
             CONDA_PREFIX=/home/connorferster/miniforge3/envs/jupyterlite
           CONDA_PREFIX_1=/home/connorferster/miniforge3
    CONDA_PROMPT_MODIFIER=(jupyterlite)
         CONDA_PYTHON_EXE=/home/connorferster/miniforge3/bin/python
               CONDA_ROOT=/home/connorferster/miniforge3
              CONDA_SHLVL=2
           CURL_CA_BUNDLE=
            DEFAULTS_PATH=/usr/share/gconf/pop.default.path
               LD_PRELOAD=
           MANDATORY_PATH=/usr/share/gconf/pop.mandatory.path
                     PATH=/home/connorferster/miniforge3/envs/jupyterlite/bin:/home/connorferste
                          r/miniforge3/condabin:/home/connorferster/.nvm/versions/node/v22.2.0/b
                          in:/home/connorferster/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/
                          sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lo
                          cal/go/bin:/home/connorferster/.repobee/bin:/opt/ParaView-
                          5.11/bin:/usr/local/go/bin
       REQUESTS_CA_BUNDLE=
            SSL_CERT_FILE=
               WINDOWPATH=2

     active environment : jupyterlite
    active env location : /home/connorferster/miniforge3/envs/jupyterlite
            shell level : 2
       user config file : /home/connorferster/.condarc
 populated config files : /home/connorferster/miniforge3/.condarc
                          /tmp/tmpwsk5p5rz/env/envs/xeus-python-kernel/.condarc
          conda version : 24.3.0
    conda-build version : not installed
         python version : 3.10.14.final.0
                 solver : libmamba (default)
       virtual packages : __conda=24.3.0=0
       base environment : /home/connorferster/miniforge3  (writable)
      conda av data dir : /home/connorferster/miniforge3/etc/conda
  conda av metadata url : None
           channel URLs : https://repo.mamba.pm/emscripten-forge/emscripten-wasm32
                          https://repo.mamba.pm/emscripten-forge/noarch
                          https://conda.anaconda.org/conda-forge/emscripten-wasm32
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /home/connorferster/miniforge3/pkgs
                          /home/connorferster/.conda/pkgs
       envs directories : /home/connorferster/miniforge3/envs
                          /home/connorferster/.conda/envs
               platform : emscripten-wasm32
             user-agent : conda/24.3.0 requests/2.31.0 CPython/3.10.14 Linux/6.4.6-76060406-generic pop/22.04 glibc/2.35 solver/libmamba conda-libmamba-solver/24.1.0 libmambapy/1.5.8
                UID:GID : 1000:1000
             netrc file : /home/connorferster/.netrc
           offline mode : False

An unexpected error has occurred. Conda has prepared the above report.
If you suspect this error is being caused by a malfunctioning plugin,
consider using the --no-plugins option to turn off plugins.

Example: conda --no-plugins install 

Alternatively, you can set the CONDA_NO_PLUGINS environment variable on
the command line to run the command without plugins enabled.

Example: CONDA_NO_PLUGINS=true conda install 

[LiteBuildApp] ERROR | [lite] [post_build] [jupyterlite-xeus] [ERR] Command '['/home/connorferster/miniforge3/condabin/mamba', 'install', '--yes', '--prefix', PosixPath('/tmp/tmpwsk5p5rz/env/envs/xeus-python-kernel'), '-c', 'https://repo.mamba.pm/emscripten-forge', '-c', 'conda-forge', 'xeus-python', 'forallpeople', 'ipycanvas']' returned non-zero exit status 1.
Traceback (most recent call last):
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/doit/doit_cmd.py", line 294, in run
    return command.parse_execute(args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/doit/cmd_base.py", line 150, in parse_execute
    return self.execute(params, args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/doit/cmd_base.py", line 570, in execute
    return self._execute(**exec_params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/doit/cmd_run.py", line 265, in _execute
    return runner.run_all(self.control.task_dispatcher())
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/doit/runner.py", line 254, in run_all
    self.run_tasks(task_dispatcher)
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/doit/runner.py", line 213, in run_tasks
    node = task_dispatcher.generator.send(node)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/doit/control.py", line 629, in _dispatcher_generator
    next_step = node.step()
                ^^^^^^^^^^^
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/doit/control.py", line 336, in step
    return next(self.generator)
           ^^^^^^^^^^^^^^^^^^^^
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/doit/control.py", line 345, in _func
    for value in decorated(*args, **kwargs):
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/doit/control.py", line 473, in _add_task
    new_tasks = generate_tasks(to_load, task_gen, ref.__doc__)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/doit/loader.py", line 390, in generate_tasks
    for task_dict, x_doc in flat_generator(gen_result, gen_doc):
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/doit/loader.py", line 27, in flat_generator
    for item in gen:
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/jupyterlite_core/manager.py", line 138, in _delayed_gather
    yield from _gather()
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/jupyterlite_core/manager.py", line 131, in _gather
    raise error
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/jupyterlite_core/manager.py", line 123, in _gather
    for task in getattr(addon, attr)(self):
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/jupyterlite_xeus/add_on.py", line 124, in post_build
    self.create_prefix()
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/jupyterlite_xeus/add_on.py", line 148, in create_prefix
    create_conda_env_from_env_file(root_prefix, yaml_content, env_file.parent)
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/jupyterlite_xeus/create_conda_env.py", line 53, in create_conda_env_from_env_file
    create_conda_env_from_specs(
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/jupyterlite_xeus/create_conda_env.py", line 69, in create_conda_env_from_specs
    _create_conda_env_from_specs_impl(
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/jupyterlite_xeus/create_conda_env.py", line 126, in _create_conda_env_from_specs_impl
    return _create_env_with_config(MAMBA_COMMAND, prefix_path, specs, channels_args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/jupyterlite_xeus/create_conda_env.py", line 144, in _create_env_with_config
    subprocess_run(
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/home/connorferster/miniforge3/condabin/mamba', 'install', '--yes', '--prefix', PosixPath('/tmp/tmpwsk5p5rz/env/envs/xeus-python-kernel'), '-c', 'https://repo.mamba.pm/emscripten-forge', '-c', 'conda-forge', 'xeus-python', 'forallpeople', 'ipycanvas']' returned non-zero exit status 1.

martinRenou commented 3 weeks ago

See https://github.com/jupyterlite/xeus/issues/100

connorferster commented 3 weeks ago

Thanks @martinRenou

I tried adding micromamba to the "build-environment.yml" file as such:

name: build-env
channels:
  - conda-forge
dependencies:
  - python
  - micromamba
  - pip
  - jupyter_server
  - jupyterlite-core >=0.3.0,<0.4.0
  - jupyterlite-xeus>=0.1.2,<0.2

But still no change. Did I interpret https://github.com/jupyterlite/xeus/issues/100 correctly?

martinRenou commented 3 weeks ago

ah you also need to use jupyterlite-xeus==0.2.0a0

connorferster commented 3 weeks ago

Thanks again @martinRenou. I am still running into the same problem :(

Here is the exact procedure followed for my most recent attempt:

  1. Install new miniforge3
  2. conda create -n jupyterlite python=3.12 jupyterlite-core
  3. conda activate jupyterlite
  4. pip install "jupyterlite-xeus==0.2.0a"
  5. jupyter lite build --XeusAddon.environment_file=environment.yml

Here are the contents of my build-environment.yml:

name: build-env
channels:
  - conda-forge
dependencies:
  - python
  - micromamba
  - pip
  - jupyter_server
  - jupyterlite-core >=0.3.0,<0.4.0
  - jupyterlite-xeus==0.2.0a0

And here are the contents of my environment.yml:

name: xeus-lite-wasm
channels:
  - https://repo.mamba.pm/emscripten-forge
  - conda-forge
dependencies:
  - xeus-python
  - numpy

Is anything jumping out at you as blatantly incorrect? Thank you for any time you are able to spend reviewing this. Much appreciated.

trace log
(jupyterlite)  connorferster@pop-os  ~/code/jupyterlite-xeus  jupyter lite build --XeusAddon.environment=environment.yml
[LiteBuildApp] WARNING | Config option `environment` not recognized by `XeusAddon`.  Did you mean `environment_file`?
static:jupyter-lite.json
.  pre_status:static:jupyter-lite.json
    tarball:         jupyterlite-app-0.3.0.tgz 13MB
    output:          /home/connorferster/code/jupyterlite-xeus/_output
    lite dir:        /home/connorferster/code/jupyterlite-xeus
    apps:            
    sourcemaps:      True
    unused packages: True
archive:archive
contents:contents
icons:icons
lite:jupyter-lite.json
mimetypes:jupyter-lite.json
serve:contents
settings:overrides
translation:translation
.  status:archive:archive
[LiteBuildApp] No archive (yet): jupyterlite-xeus-jupyterlite.tgz
.  status:contents:contents
    contents: 0 files
.  status:icons:icons
    favicon files: 0 files
.  status:lite:jupyter-lite.json
[LiteBuildApp]     jupyter-lite.(json|ipynb): 0 files
.  status:mimetypes:jupyter-lite.json
    filetypes:         26 
.  status:serve:contents
    url: http://127.0.0.1:8000/
    server: stdlib
    headers:
.  status:settings:overrides
    overrides.json: 0
.  status:translation:translation
    translation files: 0 files
static:output_dir
-- pre_init:static:output_dir
static:unpack
.  init:static:unpack
/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/jupyterlite_core/addons/base.py:294: UserWarning: install libarchive-c for better performance when working with archives: No module named 'libarchive'
  return has_optional_dependency(
federated_extensions:copy:ext:@jupyterlite/xeus
.  pre_build:federated_extensions:copy:ext:@jupyterlite/xeus
/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/jupyterlite_core/addons/icons.py:43: UserWarning: [lite] [icons] install `jupyter_server` to copy notebook favicons: No module named 'jupyter_server'
  if not self.is_sys_prefix_ignored() and has_optional_dependency(
/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/jupyterlite_core/addons/translation.py:88: UserWarning: [lite] [translation] install `jupyterlab_server` to load translations: No module named 'jupyterlab_server'
  if not self.is_sys_prefix_ignored() and has_optional_dependency(
translation:copy
.  build:translation:copy
federated_extensions:patch
federated_extensions:settings

Looking for: []

Preparing transaction: done
Verifying transaction: done
Executing transaction: done

To activate this environment, use

     $ mamba activate /tmp/tmpey81lpqk/env/envs/xeus-lite-wasm

To deactivate an active environment, use

     $ mamba deactivate

Looking for: ['xeus-python', 'numpy']

https://repo.mamba.pm/emscripten-forge/emscripte..  1.1s
https://repo.mamba.pm/emscripten-forge/noarch (c..  Checked  0.3s
warning  libmamba Could not parse mod/etag header
[+] 0.4s
conda-forge/emscripten-wasm32                            ━━━━━━╸━━━━━━━━━━━   0.0 B @  ??.?MB/s  0.4s
conda-forge/emscripten-wasm32                      @  ??.?MB/s 404 failed  0.4s
https://repo.mamba.pm/emscripten-forge/noarch      @   2.3kB/s  0.8s
https://repo.mamba.pm/emscripten-forge/emscripte.. @  53.0kB/s  0.9s
conda-forge/noarch                                  15.3MB @   9.5MB/s  1.6s
Transaction

  Prefix: /tmp/tmpey81lpqk/env/envs/xeus-lite-wasm

  Updating specs:

   - xeus-python
   - numpy

  Package                  Version  Build              Channel                              Size
──────────────────────────────────────────────────────────────────────────────────────────────────
  Install:
──────────────────────────────────────────────────────────────────────────────────────────────────

  + pyjs                     2.1.0  py311hd5f3483_7    repo.mamba.pm/emscripten-forge        4MB
  + emscripten-abi          3.1.45  h267e887_29        repo.mamba.pm/emscripten-forge       11kB
  + python                  3.11.3  h_hash_24_cpython  repo.mamba.pm/emscripten-forge       13MB
  + wheel                   0.43.0  pyhd8ed1ab_1       conda-forge                        Cached
  + setuptools              70.1.1  pyhd8ed1ab_0       conda-forge                        Cached
  + pip                       24.0  pyhd8ed1ab_0       conda-forge                        Cached
  + six                     1.16.0  pyh6c4a22f_0       conda-forge                          14kB
  + parso                    0.8.4  pyhd8ed1ab_0       conda-forge                          75kB
  + ptyprocess               0.7.0  pyhd3deb0d_0       conda-forge                          17kB
  + wcwidth                 0.2.13  pyhd8ed1ab_0       conda-forge                          33kB
  + pure_eval                0.2.2  pyhd8ed1ab_0       conda-forge                          15kB
  + executing                2.0.1  pyhd8ed1ab_0       conda-forge                          28kB
  + typing_extensions       4.12.2  pyha770c72_0       conda-forge                          40kB
  + traitlets               5.14.3  pyhd8ed1ab_0       conda-forge                        Cached
  + pygments                2.18.0  pyhd8ed1ab_0       conda-forge                         879kB
  + decorator                5.1.1  pyhd8ed1ab_0       conda-forge                          12kB
  + backcall                 0.2.0  pyh9f0ad1d_0       conda-forge                          14kB
  + xeus-python-shell-raw    0.6.3  pyhd8ed1ab_0       conda-forge                          12kB
  + pickleshare              0.7.5  py_1003            conda-forge                           9kB
  + asttokens                2.4.1  pyhd8ed1ab_0       conda-forge                          29kB
  + jedi                    0.19.1  pyhd8ed1ab_0       conda-forge                         841kB
  + pexpect                  4.9.0  pyhd8ed1ab_0       conda-forge                          54kB
  + prompt-toolkit          3.0.47  pyha770c72_0       conda-forge                         271kB
  + matplotlib-inline        0.1.7  pyhd8ed1ab_0       conda-forge                          15kB
  + stack_data               0.6.2  pyhd8ed1ab_0       conda-forge                          26kB
  + numpy                    2.0.0  py311hc8e14bb_0    repo.mamba.pm/emscripten-forge        7MB
  + ipython                 8.25.0  py311hf215df6_1    repo.mamba.pm/emscripten-forge        2MB
  + xeus-python-shell        0.6.3  pyhd8ed1ab_0       conda-forge                           7kB
  + xeus-python             0.17.0  py311h8776317_6    repo.mamba.pm/emscripten-forge        4MB

  Summary:

  Install: 29 packages

  Total download: 33MB

──────────────────────────────────────────────────────────────────────────────────────────────────

six                                                 14.3kB @  42.8kB/s  0.3s
parso                                               75.2kB @ 203.7kB/s  0.4s
pure_eval                                           14.6kB @  35.6kB/s  0.1s
xeus-python-shell-raw                               11.7kB @  26.2kB/s  0.1s
matplotlib-inline                                   14.6kB @  27.9kB/s  0.1s
jedi                                               841.3kB @   1.4MB/s  0.2s
typing_extensions                                   39.9kB @  55.8kB/s  0.1s
backcall                                            13.7kB @  17.8kB/s  0.1s
pexpect                                             53.6kB @  61.5kB/s  0.1s
xeus-python-shell                                    6.7kB @   7.1kB/s  0.1s
wcwidth                                             32.7kB @  32.3kB/s  0.1s
decorator                                           12.1kB @  11.1kB/s  0.1s
emscripten-abi                                      10.9kB @   7.7kB/s  1.4s
prompt-toolkit                                     270.7kB @ 162.1kB/s  0.2s
asttokens                                           28.9kB @  16.6kB/s  0.1s
ptyprocess                                          16.5kB @   9.1kB/s  0.1s
pickleshare                                          9.3kB @   4.8kB/s  0.1s
executing                                           27.7kB @  13.8kB/s  0.1s
pygments                                           879.3kB @ 398.8kB/s  0.2s
stack_data                                          26.2kB @  11.5kB/s  0.1s
ipython                                              1.6MB @ 602.7kB/s  2.2s
pyjs                                                 4.0MB @   1.1MB/s  3.6s
xeus-python                                          3.8MB @ 969.8kB/s  1.7s
python                                              13.2MB @ 794.6kB/s 16.7s
numpy                                                7.5MB @ 313.4kB/s 22.8s
'emscripten' is not a valid Platform

# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<

    Traceback (most recent call last):
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/exception_handler.py", line 17, in __call__
        return func(*args, **kwargs)
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/mamba/mamba.py", line 959, in exception_converter
        raise e
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/mamba/mamba.py", line 952, in exception_converter
        exit_code = _wrapped_main(*args, **kwargs)
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/mamba/mamba.py", line 898, in _wrapped_main
        result = do_call(parsed_args, p)
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/mamba/mamba.py", line 763, in do_call
        exit_code = install(args, parser, "install")
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/mamba/mamba.py", line 569, in install
        handle_txn(conda_transaction, prefix, args, newenv)
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/mamba/linking.py", line 38, in handle_txn
        unlink_link_transaction.download_and_extract()
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/core/link.py", line 255, in download_and_extract
        self._pfe.execute()
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 771, in execute
        self.prepare()
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/common/io.py", line 85, in decorated
        return f(*args, **kwds)
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 750, in prepare
        self.paired_actions.update(
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 751, in 
        (prec, self.make_actions_for_record(prec)) for prec in largest_first
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 595, in make_actions_for_record
        extracted_pcrec = next(
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 596, in 
        (
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 599, in 
        PackageCacheData(pkgs_dir).query(pref_or_spec)
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 166, in query
        for pcrec in self._package_cache_records.values()
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 306, in _package_cache_records
        self.load()
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 127, in load
        package_cache_record = self._make_single_record(base_name)
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 369, in _make_single_record
        package_cache_record = PackageCacheRecord.from_objects(
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/auxlib/entity.py", line 790, in from_objects
        return cls(**init_vars)
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/auxlib/entity.py", line 743, in __call__
        instance = super().__call__(*args, **kwargs)
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/models/records.py", line 418, in __init__
        super().__init__(*args, **kwargs)
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/auxlib/entity.py", line 759, in __init__
        setattr(self, key, kwargs[key])
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/auxlib/entity.py", line 428, in __set__
        self.box(instance, instance.__class__, val),
      File "/home/connorferster/miniforge3/lib/python3.10/site-packages/conda/auxlib/entity.py", line 570, in box
        raise ValidationError(val, msg=e1)
    conda.auxlib.exceptions.ValidationError: 'emscripten' is not a valid Platform

`$ /home/connorferster/miniforge3/condabin/mamba install --yes --prefix /tmp/tmpey81lpqk/env/envs/xeus-lite-wasm -c https://repo.mamba.pm/emscripten-forge -c conda-forge xeus-python numpy`

  environment variables:
                 CIO_TEST=
                  CONDARC=/tmp/tmpey81lpqk/env/envs/xeus-lite-wasm/.condarc
        CONDA_DEFAULT_ENV=jupyterlite
                CONDA_EXE=/home/connorferster/miniforge3/bin/conda
             CONDA_PREFIX=/home/connorferster/miniforge3/envs/jupyterlite
           CONDA_PREFIX_1=/home/connorferster/miniforge3
    CONDA_PROMPT_MODIFIER=(jupyterlite)
         CONDA_PYTHON_EXE=/home/connorferster/miniforge3/bin/python
               CONDA_ROOT=/home/connorferster/miniforge3
              CONDA_SHLVL=2
           CURL_CA_BUNDLE=
            DEFAULTS_PATH=/usr/share/gconf/pop.default.path
               LD_PRELOAD=
           MANDATORY_PATH=/usr/share/gconf/pop.mandatory.path
                     PATH=/home/connorferster/miniforge3/envs/jupyterlite/bin:/home/connorferste
                          r/miniforge3/condabin:/home/connorferster/.nvm/versions/node/v22.2.0/b
                          in:/home/connorferster/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/
                          sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lo
                          cal/go/bin:/home/connorferster/.repobee/bin:/opt/ParaView-
                          5.11/bin:/usr/local/go/bin
       REQUESTS_CA_BUNDLE=
            SSL_CERT_FILE=
               WINDOWPATH=2

     active environment : jupyterlite
    active env location : /home/connorferster/miniforge3/envs/jupyterlite
            shell level : 2
       user config file : /home/connorferster/.condarc
 populated config files : /home/connorferster/miniforge3/.condarc
                          /tmp/tmpey81lpqk/env/envs/xeus-lite-wasm/.condarc
          conda version : 24.3.0
    conda-build version : not installed
         python version : 3.10.14.final.0
                 solver : libmamba (default)
       virtual packages : __conda=24.3.0=0
       base environment : /home/connorferster/miniforge3  (writable)
      conda av data dir : /home/connorferster/miniforge3/etc/conda
  conda av metadata url : None
           channel URLs : https://repo.mamba.pm/emscripten-forge/emscripten-wasm32
                          https://repo.mamba.pm/emscripten-forge/noarch
                          https://conda.anaconda.org/conda-forge/emscripten-wasm32
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /home/connorferster/miniforge3/pkgs
                          /home/connorferster/.conda/pkgs
       envs directories : /home/connorferster/miniforge3/envs
                          /home/connorferster/.conda/envs
               platform : emscripten-wasm32
             user-agent : conda/24.3.0 requests/2.31.0 CPython/3.10.14 Linux/6.4.6-76060406-generic pop/22.04 glibc/2.35 solver/libmamba conda-libmamba-solver/24.1.0 libmambapy/1.5.8
                UID:GID : 1000:1000
             netrc file : /home/connorferster/.netrc
           offline mode : False

An unexpected error has occurred. Conda has prepared the above report.
If you suspect this error is being caused by a malfunctioning plugin,
consider using the --no-plugins option to turn off plugins.

Example: conda --no-plugins install 

Alternatively, you can set the CONDA_NO_PLUGINS environment variable on
the command line to run the command without plugins enabled.

Example: CONDA_NO_PLUGINS=true conda install 

[LiteBuildApp] ERROR | [lite] [post_build] [jupyterlite-xeus] [ERR] Command '['/home/connorferster/miniforge3/condabin/mamba', 'install', '--yes', '--prefix', PosixPath('/tmp/tmpey81lpqk/env/envs/xeus-lite-wasm'), '-c', 'https://repo.mamba.pm/emscripten-forge', '-c', 'conda-forge', 'xeus-python', 'numpy']' returned non-zero exit status 1.
Traceback (most recent call last):
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/doit/doit_cmd.py", line 294, in run
    return command.parse_execute(args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/doit/cmd_base.py", line 150, in parse_execute
    return self.execute(params, args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/doit/cmd_base.py", line 570, in execute
    return self._execute(**exec_params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/doit/cmd_run.py", line 265, in _execute
    return runner.run_all(self.control.task_dispatcher())
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/doit/runner.py", line 254, in run_all
    self.run_tasks(task_dispatcher)
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/doit/runner.py", line 213, in run_tasks
    node = task_dispatcher.generator.send(node)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/doit/control.py", line 629, in _dispatcher_generator
    next_step = node.step()
                ^^^^^^^^^^^
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/doit/control.py", line 336, in step
    return next(self.generator)
           ^^^^^^^^^^^^^^^^^^^^
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/doit/control.py", line 345, in _func
    for value in decorated(*args, **kwargs):
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/doit/control.py", line 473, in _add_task
    new_tasks = generate_tasks(to_load, task_gen, ref.__doc__)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/doit/loader.py", line 390, in generate_tasks
    for task_dict, x_doc in flat_generator(gen_result, gen_doc):
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/doit/loader.py", line 27, in flat_generator
    for item in gen:
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/jupyterlite_core/manager.py", line 138, in _delayed_gather
    yield from _gather()
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/jupyterlite_core/manager.py", line 131, in _gather
    raise error
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/jupyterlite_core/manager.py", line 123, in _gather
    for task in getattr(addon, attr)(self):
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/jupyterlite_xeus/add_on.py", line 116, in post_build
    self.create_prefix()
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/jupyterlite_xeus/add_on.py", line 140, in create_prefix
    create_conda_env_from_env_file(root_prefix, yaml_content, env_file.parent)
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/jupyterlite_xeus/create_conda_env.py", line 53, in create_conda_env_from_env_file
    create_conda_env_from_specs(
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/jupyterlite_xeus/create_conda_env.py", line 69, in create_conda_env_from_specs
    _create_conda_env_from_specs_impl(
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/jupyterlite_xeus/create_conda_env.py", line 126, in _create_conda_env_from_specs_impl
    return _create_env_with_config(MAMBA_COMMAND, prefix_path, specs, channels_args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/site-packages/jupyterlite_xeus/create_conda_env.py", line 144, in _create_env_with_config
    subprocess_run(
  File "/home/connorferster/miniforge3/envs/jupyterlite/lib/python3.12/subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/home/connorferster/miniforge3/condabin/mamba', 'install', '--yes', '--prefix', PosixPath('/tmp/tmpey81lpqk/env/envs/xeus-lite-wasm'), '-c', 'https://repo.mamba.pm/emscripten-forge', '-c', 'conda-forge', 'xeus-python', 'numpy']' returned non-zero exit status 1.
jtpio commented 3 weeks ago
  - jupyterlite-xeus==0.2.0a0

Not sure the jupyterlite-xeus pre-release is available on conda-forge. So maybe worth trying with pip for now:

  - pip:
    - jupyterlite-xeus==0.2.0a0
jtpio commented 3 weeks ago

FYI @connorferster this seems to be doing the trick: https://github.com/jupyterlite/xeus-python-demo/pull/40

Even with micromamba not listed in the build-environment.yml file, but it's likely because it's already installed as part of the workflow here:

https://github.com/jupyterlite/xeus-python-demo/blob/402a4955eb9d259417dffb82fdeb02225519de78/.github/workflows/deploy.yml#L24

connorferster commented 3 weeks ago

Thank you @jtpio and @martinRenou, I really appreciate your assistance.

The issue is conda. Even though I am including micromamba in my "build-environment.yml" it is still not working.

Solution:

When I completely omit conda from the process then everything goes smoothly (as advertised). However, because I would prefer to use conda in my local environment, it seems I will have run the build process on a separate server (GitHub Actions, or otherwise) as you have demonstrated.

I have raised this issue on the conda repo but have heard nothing back. So, if anyone is encountering this same issue and reading this, then you will need to create a computing environment where conda is completely absent in order to make the build work.

connorferster commented 3 weeks ago

Also, I just want to say:

Jupyterlite, especially with the xeus kernel, is a game-changer for folks who cannot install Python on their work computers for various reasons. Thank you all so much for this incredible effort. I will be deploying a Jupyterlite site for people in my industry and I expect it to be popular. Thank you thank you thank you!

jtpio commented 3 weeks ago

Thanks @connorferster!

I have raised this issue on the conda repo but have heard nothing back

Which issue is it? There is also https://github.com/conda/conda/pull/13962 which would likely fix this.