exoplanet-dev / exoplanet

Fast & scalable MCMC for all your exoplanet needs!
https://docs.exoplanet.codes
MIT License
206 stars 52 forks source link

`ImportError` (I think due to numpy dependency) #289

Closed TomWagg closed 1 year ago

TomWagg commented 1 year ago

Describe the bug An ImportError occurs when importing exoplanet (will paste below)

To Reproduce

import exoplanet as xo

Expected behavior It imports.

Your setup (please complete the following information):

Additional context Here's my conda env

name: radius-valley
channels:
  - defaults
  - conda-forge
dependencies:
  - python >= 3.6
  - pip
  - numpy
  - astropy
  - pandas
  - scipy
  - seaborn
  - matplotlib
  - jupyter
  - jupyterlab
  - ipython
  - exoplanet
  - pip:
    - lightkurve
    - pymc3-ext
    - corner
TomWagg commented 1 year ago
ImportError                               Traceback (most recent call last)
Cell In[1], line 1
----> 1 import exoplanet as xo
      2 import lightkurve as lk
      3 import astropy.units as u

File [~/miniconda3/envs/radius-valley/lib/python3.10/site-packages/exoplanet/__init__.py:5](https://file+.vscode-resource.vscode-cdn.net/home/tom/Documents/research/radius-valley/notebooks/~/miniconda3/envs/radius-valley/lib/python3.10/site-packages/exoplanet/__init__.py:5)
      1 # -*- coding: utf-8 -*-
      3 __all__ = ["__version__", "distributions", "orbits", "interp"]
----> 5 from . import distributions, interp, orbits
      6 from .citations import CITATIONS
      7 from .distributions import *  # NOQA

File [~/miniconda3/envs/radius-valley/lib/python3.10/site-packages/exoplanet/distributions/__init__.py:5](https://file+.vscode-resource.vscode-cdn.net/home/tom/Documents/research/radius-valley/notebooks/~/miniconda3/envs/radius-valley/lib/python3.10/site-packages/exoplanet/distributions/__init__.py:5)
      1 # -*- coding: utf-8 -*-
      3 __all__ = ["QuadLimbDark", "ImpactParameter", "eccentricity"]
----> 5 from . import eccentricity
      6 from .physical import ImpactParameter, QuadLimbDark

File [~/miniconda3/envs/radius-valley/lib/python3.10/site-packages/exoplanet/distributions/eccentricity.py:7](https://file+.vscode-resource.vscode-cdn.net/home/tom/Documents/research/radius-valley/notebooks/~/miniconda3/envs/radius-valley/lib/python3.10/site-packages/exoplanet/distributions/eccentricity.py:7)
      5 import aesara_theano_fallback.tensor as tt
      6 import numpy as np
----> 7 import pymc3 as pm
      9 from ..citations import add_citations_to_model
...
---> 21 from numpy import asscalar, ndarray
     24 LATEX_ESCAPE_RE = re.compile(r"(%|_|\$|#|&)", re.MULTILINE)
     27 def escape_latex(strng):

ImportError: cannot import name 'asscalar' from 'numpy' ([/home/tom/miniconda3/envs/radius-valley/lib/python3.10/site-packages/numpy/__init__.py](https://file+.vscode-resource.vscode-cdn.net/home/tom/miniconda3/envs/radius-valley/lib/python3.10/site-packages/numpy/__init__.py))

I think this is because my numpy version is too recent for exoplanet? (see here)

dfm commented 1 year ago

Yeah, PyMC3 requires numpy<1.22:

https://github.com/exoplanet-dev/exoplanet/blob/049d30abcb8a06c37071b7010a62465647ff740a/setup.py#L31

Unfortunately since PyMC3 is deprecated there's nothing we can do about it except downgrading numpy!

TomWagg commented 1 year ago

Okay gotcha, I guess something funky happened with my environment installation that ignored that < 1.22 🤷🏻 Thanks!