RussTedrake / manipulation

Course notes for MIT manipulation class
BSD 3-Clause "New" or "Revised" License
411 stars 121 forks source link

Current Deepnote Tutorials Do Not Work with Drake 1.2.0 - intent to release manipulation through pip for Python 3.8? #188

Closed lcbw closed 2 years ago

lcbw commented 2 years ago

| OS: Ubuntu 20.04 | Python: 3.8 | Drake 1.2.0 Stable Release | using venv through PyCharm |

Issue: DeepNote Chapter 2 Tutorial/Example problem is unable to find necessary packages when using Drake 1.2.0

Notes to help clear up the issue: (1) The DeepNote (and Textbook) does not indicate what stable release of Drake it was built to work with.
(2) The most recent (1.2.0) release of Drake does not support Python 3.7 or 3.6 (3) The most current (v2021.0) release of this manipulation package requires Python <3.8 (in addition) Some utilities appear to have changed locations or names after the last update to the tutorials

jdlangs commented 2 years ago

I have not done much with this package but at least the meshcat utilities work fine in python 3.8 after removing the upper bound requirement here. I'm curious why this requirement exists; is there deprecated functionality that is still being used?

RussTedrake commented 2 years ago

Sorry for the delay (I've been teaching my other course this spring, and will be returning to manipulation at full throttle come fall). I've just pushed a new pip package. You are correct that the upper bound on the python version was unnecessary, and too conservative.

Regarding the OP; the intention is for all of the distributed code to have pegged versions o the dependencies. Unfortunately, there are a few different mechanisms for that. (1) Deepnote is versioned using docker. The russtedrake/manipulation docker images peg the Drake revision, and each notebook pegs a docker image. (2) It's true that Drake has dropped support for python <3.8. We support the default python versions on each platform; Ubuntu 18.04 is out of LTS and most packages (except ROS) have moved on. (3) This was simply an oversight for me not updating the pip wheel when Drake bumped its requirements. I believe that should now be fixed.