-
Notifications
You must be signed in to change notification settings - Fork 310
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make dm_control an extra dependency #828
Conversation
Because dm_control needs to be installed from vcs or tarball, garage cannot be directly installed in pipenv (see [this issue](pypa/pipenv#3396)). I've copied the example that used our dm_control wrapper, modified the original example to use gym, and modified the copy to clarify the extra dependency. I've also modified the `garage.env.dm_control` module to report a helpful error message if dm_control isn't found. `pip install garage[all]` will still install dm_control.
Codecov Report
@@ Coverage Diff @@
## master #828 +/- ##
==========================================
- Coverage 73.48% 73.44% -0.04%
==========================================
Files 178 178
Lines 10295 10295
Branches 1304 1304
==========================================
- Hits 7565 7561 -4
- Misses 2365 2368 +3
- Partials 365 366 +1
Continue to review full report at Codecov.
|
It can be installed with pipenv, but requires the If this is the only package which requires the flag, then I'm happy to move it into an optional. If the mainline packages require |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks great!
Ah, I see. This is indeed the only package which requires |
I don't need to use --pre for anything with pipenv if I install pipenv from master. OTOH, if I use the last release of pipenv (2018.11.26), even --pre doesn't work for dm_control. |
Ah, thanks for testing this. I just know that I couldn't get it to work with the latest release. If a pipenv release fixes this soon, then I'd be happy to drop this change. |
I think the best move is probably to advise people to use pre-release pipenv. I don't see anything on their GitHub indicating a release is imminent, but working around this is kind of a PITA for a normal user. ref: pypa/pipenv#2596 |
I opened a PR for that #839 |
After experimenting with pre-release pipenv for a bit, I don't think advising people to use it is a good idea. It (and prerelease pip) break sometimes, and are incredibly difficult to fix afterwards. |
Okay, let's roll forward with this fix then. |
Okay, I'll merge this then. It's worth mentioning that all of garage's functionality can still be used in pipenv by directly installing the required |
Because dm_control needs to be installed from vcs or tarball, garage
cannot be directly installed in pipenv (see this
issue).
I've copied the example that used our dm_control wrapper, modified
the original example to use gym, and modified the copy to clarify the
extra dependency.
I've also modified the
garage.env.dm_control
module to report ahelpful error message if dm_control isn't found.
pip install garage[all]
will still install dm_control.