marimo-team / marimo

A reactive notebook for Python — run reproducible experiments, execute as a script, deploy as an app, and version with git.
https://marimo.io
Apache License 2.0
5.31k stars 155 forks source link

Constraint incompatibility with awscli for marimo > 0.2.2 #1693

Closed BenGravell closed 3 days ago

BenGravell commented 3 days ago

Describe the bug

There appears to be a compatibility issue between the awscli package and marimo for version at least 0.2.2 due to conflicting requirement constraints. This issue prevents the installation of modern versions of both packages in the same Python environment. This makes it harder to use marimo in any environment that also uses awscli, which is a very common dependency.

With unpinned package versions in requirements.txt, I can get

Successfully installed docutils-0.16 marimo-0.2.2

but running

pip install --upgrade marimo

leads to

Installing collected packages: docutils, marimo
  Attempting uninstall: docutils
    Found existing installation: docutils 0.16
    Uninstalling docutils-0.16:
      Successfully uninstalled docutils-0.16
  Attempting uninstall: marimo
    Found existing installation: marimo 0.2.2
    Uninstalling marimo-0.2.2:
      Successfully uninstalled marimo-0.2.2
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
awscli 1.33.18 requires docutils<0.17,>=0.10, but you have docutils 0.21.2 which is incompatible.
Successfully installed docutils-0.21.2 marimo-0.6.23

Environment:

Environment

n/a

Code to reproduce

Steps to Reproduce:

  1. Set up a virtual environment:

    python -m venv myenv
    source myenv/bin/activate
  2. Create a requirements.txt file:

    awscli
    marimo
  3. Install the packages:

    pip install -r requirements.txt
  4. Attempt to upgrade marimo

    pip install --upgrade marimo
mscolnick commented 3 days ago

Thanks for sharing this. I am surprised awscli has not expanded their range - 0.17 was shipped in Apr 2021. We can look into lowering our lower bounds

akshayka commented 3 days ago

@BenGravell , we just cut release 0.6.24 which loosens the docutils lower bound. It should be on PyPI momentarily. Thanks for bringing this to our attention!

BenGravell commented 3 days ago

Cool thanks so much for getting that in! Makes it much easier to use now in constrained envs.