lee-group-cmu / RFCDE

Random Forests for Conditional Density Estimation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Module works with Python 3.7

Vayel opened this issue · comments

On Ubuntu 18.04:

$ git clone https://github.com/tpospisi/RFCDE
$ cd RFCDE/python
$ python -V
Python 3.7.0
$ pip install cython numpy
...
$ python setup.py install
...
Finished processing dependencies for rfcde==0.2

As the library seems to work with Python 3.7, it would be nice to have the library on PyPI.

It's on PyPi: https://pypi.org/project/rfcde/. You should be able to install with pip install rfcde (let me know if that doesn't work). I'll remove the note about the 3.6 issue from the Readme. Thanks!

scipy is a missing dependency:

>>> import rfcde
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/simudyne/.local/share/virtualenvs/rfcde-UZNOYE4v/lib/python3.7/site-packages/rfcde/__init__.py", line 2, in <module>
    from .core import RFCDE
  File "/home/simudyne/.local/share/virtualenvs/rfcde-UZNOYE4v/lib/python3.7/site-packages/rfcde/core.py", line 11, in <module>
    from .kde import kde
  File "/home/simudyne/.local/share/virtualenvs/rfcde-UZNOYE4v/lib/python3.7/site-packages/rfcde/kde.py", line 7, in <module>
    import statsmodels.api as sm
  File "/home/simudyne/.local/share/virtualenvs/rfcde-UZNOYE4v/lib/python3.7/site-packages/statsmodels/__init__.py", line 10, in <module>
    from statsmodels.tools.sm_exceptions import (ConvergenceWarning, CacheWriteWarning,
  File "/home/simudyne/.local/share/virtualenvs/rfcde-UZNOYE4v/lib/python3.7/site-packages/statsmodels/tools/__init__.py", line 1, in <module>
    from .tools import add_constant, categorical
  File "/home/simudyne/.local/share/virtualenvs/rfcde-UZNOYE4v/lib/python3.7/site-packages/statsmodels/tools/tools.py", line 8, in <module>
    from scipy.linalg import svdvals
ModuleNotFoundError: No module named 'scipy'

You could also mention that Cython and numpy have to be installed beforehand (as they are imported in the setup.py).

Otherwise, it works. :)