bluesky / tutorials

Tutorial materials related to data acquisition, management, and analysis
https://mybinder.org/v2/gh/bluesky/tutorials/main?urlpath=lab
BSD 3-Clause "New" or "Revised" License
20 stars 29 forks source link

Use Python 3.8 for binder #130

Closed mrakitin closed 1 year ago

mrakitin commented 1 year ago

Proposed solution

Follows https://mybinder.readthedocs.io/en/latest/using/config_files.html#runtime-txt-specifying-runtimes. Check it out at https://mybinder.org/v2/gh/mrakitin/tutorial-bluesky/py38.

Resolves https://github.com/bluesky/tutorials/issues/127.

Alternative solution

Keep the default Binder Python version (3.7 now, but recently bumped to 3.10 -- will take time to propagate from the repo2docker repo to Binder), but add a minimum pin of event-model v1.19.1 (as done in https://github.com/bluesky/tutorials/compare/main...mrakitin:tutorial-bluesky:event-model-1.19.1?expand=1). That way we control the Python version less, as some dependencies are hard-pinned, and will soon be failing when Python 3.10 will be the default runtime version.

danielballan commented 1 year ago

What would it take to bump to 3.10 now? I think it would be good to get there for the Users Meeting in April.

mrakitin commented 1 year ago

I ran it from a separate branch with Python 3.10: https://mybinder.org/v2/gh/mrakitin/tutorial-bluesky/py310. Error:

Collecting scikit-image
  Downloading scikit_image-0.19.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.9/13.9 MB 224.5 MB/s eta 0:00:00
Collecting suitcase-csv
  Downloading suitcase_csv-0.3.0-py3-none-any.whl (6.1 kB)
Collecting suitcase-jsonl
  Downloading suitcase_jsonl-0.2.2-py3-none-any.whl (6.6 kB)
Collecting suitcase-mongo
  Downloading suitcase_mongo-0.3.1-py3-none-any.whl (23 kB)
Collecting suitcase-msgpack
  Downloading suitcase_msgpack-0.3.0-py3-none-any.whl (5.6 kB)
Collecting suitcase-tiff
  Downloading suitcase_tiff-0.4.0-py3-none-any.whl (20 kB)
Collecting supervisor
  Downloading supervisor-4.2.5-py2.py3-none-any.whl (319 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 319.6/319.6 kB 212.5 MB/s eta 0:00:00
Collecting tensorboard==2.2.1
  Downloading tensorboard-2.2.1-py3-none-any.whl (3.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.0/3.0 MB 206.1 MB/s eta 0:00:00
ERROR: Could not find a version that satisfies the requirement tensorflow==2.2.0 (from versions: 2.8.0rc0, 2.8.0rc1, 2.8.0, 2.8.1, 2.8.2, 2.8.3, 2.8.4, 2.9.0rc0, 2.9.0rc1, 2.9.0rc2, 2.9.0, 2.9.1, 2.9.2, 2.9.3, 2.10.0rc0, 2.10.0rc1, 2.10.0rc2, 2.10.0rc3, 2.10.0, 2.10.1, 2.11.0rc0, 2.11.0rc1, 2.11.0rc2, 2.11.0, 2.12.0rc0)
ERROR: No matching distribution found for tensorflow==2.2.0
Removing intermediate container eb3407575c70
The command '/bin/sh -c ${KERNEL_PYTHON_PREFIX}/bin/pip install --no-cache-dir -r "binder/requirements.txt"' returned a non-zero code: 1

Should we try to relax the version of tensorflow?

danielballan commented 1 year ago

It's fine with me if this goes ahead as is for now, to meet the upcoming deadline.

Yes, I think we should try relaxing tensorflow. @maffettone may be able to comment on any known constraints.

mrakitin commented 1 year ago

I've fixed the failed jupyter-book building by downgrading the protobuf package. @danielballan, @maffettone, are you OK with this short-term solution?

mrakitin commented 1 year ago

Thanks, @danielballan!