Skip to content
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

pip: Why does Open3D pull in Open3D-ML/requirements.txt? #2991

Open
EricCousineau-TRI opened this issue Feb 4, 2021 · 2 comments · May be fixed by #5853 or #5940
Open

pip: Why does Open3D pull in Open3D-ML/requirements.txt? #2991

EricCousineau-TRI opened this issue Feb 4, 2021 · 2 comments · May be fixed by #5853 or #5940
Labels
build/install Build or installation issue ml

Comments

@EricCousineau-TRI
Copy link
Contributor

EricCousineau-TRI commented Feb 4, 2021

Describe the bug
#2533 was resolved stating that it had minimal dependencies (thank you!).

However, we wanted to update to open3d==0.10.0, but ran into #1937 (JVisualizer).
So then I wanted to update to open3d==0.12.0, but then ran into #2825 (dep on sklearn, which hasn't been released yet).

However, I don't understand why the base Open3D-ML/requirements.txt is merged into this Python package's requirements:
https://github.com/intel-isl/Open3D/blob/v0.12.0/python/setup.py#L52-L55

Why not use extras_require to use the ML dependencies, rather than doing a runtime-switch based on what packages are available? An example:
https://github.com/mikedh/trimesh/blob/4cacbffcd9bd1a637bf05b638bc3376464e3577b/setup.py

e.g.:

open3d  # Only Open3D deps, no ML stuff
open3d[ml]  # ML deps, but does not install PyTorch / TF
open3d[torch]  # ML deps + PyTorch
open3d[tensorflow]  # ML deps + TF
open3d[all]  # All the things!!!

To Reproduce
See this gist: https://gist.github.com/EricCousineau-TRI/ee119a3feeed77ac289ed06b01e587cc
Important snippet:

scikit-learn==0.24.1
    # via sklearn
...
sklearn==0.0
    # via open3d

(Note: sklearn isn't important, as I'd expect it to be fixed once a new release is cut; scikit-learn is the main thing here)

Expected behavior
I would have expected scikit-learn to not appear, or only appear of I installed a more explicit version.

Environment (please complete the following information):

  • Operating system: Ubuntu 18.04
  • Python version: Python 3.6
  • Open3D version: 0.12.0
  • Is this remote workstation? no
  • How did you install Open3D? pip

Additional context
See linked issues.

\cc @sanskar107 @yxlao

@EricCousineau-TRI
Copy link
Contributor Author

Just briefly checked with Open3D 0.13.0 and noticed that it's still there; updated gist to that effect:
https://gist.github.com/EricCousineau-TRI/ee119a3feeed77ac289ed06b01e587cc

@johnthagen
Copy link
Contributor

Related:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build/install Build or installation issue ml
Projects
None yet
4 participants