1578548 : Updating Jupyter package versions¶
Created: 2026-02-20T17:11:41Z - current status: new¶
Here’s the anonymized and summarized version of the query, along with a suggested solution:
Summary of Issue¶
A team is creating a new Python environment (Python 3.13) for users of an XFEL facility. They encounter compatibility issues with matplotlib in interactive Jupyter notebooks:
1. Interactive plotting requires matching versions of certain packages (e.g., matplotlib) between the user’s environment and the Jupyter server’s environment.
2. Python 3.13 lacks pre-built matplotlib wheels on PyPI, forcing installation from source. However, the environment is managed via pixi, which prioritizes Conda version constraints over PyPI constraints, leading to resolver conflicts with other Conda-installed packages that depend on matplotlib.
The user requests an update to matplotlib in the Jupyter server’s environment to resolve these conflicts.
Suggested Solution¶
- Check Current Jupyter Environment:
- Verify the
matplotlibversion in the Jupyter server’s environment (e.g., viaconda list matplotliborpip list | grep matplotlib). -
If outdated, consider updating it to a version compatible with Python 3.13 (if available via Conda).
-
Alternative Approaches:
- Use Conda for
matplotlib: Since pixi prioritizes Conda constraints, ensurematplotlibis installed via Conda (not PyPI) in the user environment, even if it requires downgrading Python to a version with Conda support (e.g., 3.11). - Isolate Jupyter Kernels: Create a custom Jupyter kernel for the new environment (see Creating Jupyter Kernels) to avoid conflicts with the server’s environment.
-
Containerized Environments: Use pixi’s container registry feature (see pixi blog post) to deploy the environment as a self-contained container, reducing dependency conflicts.
-
Request Update:
- If updating
matplotlibin the Jupyter environment is feasible, coordinate with the Maxwell cluster administrators to test compatibility with existing workflows before deployment.