Skip to content
This repository has been archived by the owner on Feb 14, 2024. It is now read-only.

Support for installing packages from environment.yml files #53

Closed
jtpio opened this issue Jul 5, 2022 · 1 comment · Fixed by #96
Closed

Support for installing packages from environment.yml files #53

jtpio opened this issue Jul 5, 2022 · 1 comment · Fixed by #96
Labels
enhancement New feature or request

Comments

@jtpio
Copy link
Member

jtpio commented Jul 5, 2022

Problem

At the moment it can be confusing that packages must be specified explicitly in a XeusPythonEnv.packages list.

Folks familiar with Binder might expect dependencies installed in a build environment to also be available in the kernel.

The fact that there could be a mismatch between the frontend extension and the package in the kernel is the issue (for example with widgets).

This is already mentioned in the documentation in the case of the Pyodide kernel: https://jupyterlite.readthedocs.io/en/latest/howto/configure/simple_extensions.html#the-case-of-jupyter-widgets-and-custom-renderers

But also applies for the jupyterlite-xeus-python kernel.

Proposed Solution

For a site deployer, having a single environment.yml would make things more convenient.

It's not clear yet how this should be handle and whether the empack step in the xeus-python addon should accept a environment.yml as is.

The main issue will probably be packages required for the build (for example jupyterlab or jupyter-server to index content) don't need to be installed in the kernel.

Additional context

cc @nthiery since we discussed this use case over a video call

@jtpio jtpio added the enhancement New feature or request label Jul 5, 2022
@nthiery
Copy link

nthiery commented Jul 5, 2022

Thanks for summarizing this item of our discussion!

Just to reformulate from the user's perspective: it's a simple natural mental
model to have two clearly separated environments:

  • the environment used to build the site
  • the execution environment for interactive use of the material on the site;
    That's the usual model when using e.g. jupyter-book.

On the other hand, the separation between front-end/server/kernel gets
technical, and is best left as implementation detail that the user need not
worry about if at all possible.

Of course, there may be cases where the build environment is a superset of
the execution environment, e.g. when the build involves executing notebooks.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants