IPESE / REHO

Master version of the model
Apache License 2.0
6 stars 10 forks source link

[Bug]: JOSS REVIEW Running test script with AMPL cloud license results in recursion error #34

Closed willu47 closed 1 day ago

willu47 commented 1 week ago

Is there an existing issue for this?

What happened?

I've install v1.1.4 using pip, installed postgres via brew, and installed AMPL manually via the website (OSX version) and activated the cloud license. I have a .env file in my folder, although the .env file is empty - as I do not have a license file. AMPL provide a cloud license.

Either the script does not recognise my local folder, and the presence of the .env file, or I have the wrong value in my .env file. Either way, the execution should stop on being unable to run AMPL (if that is the issue) and not produce this very long error trace.

Version

1.0.2 (Stable)

Relevant log output

% reho-test-import
AMPL_PATH is not defined. Please include a .env file at the project root (e.g., AMPL_PATH='C:/AMPL')
Traceback (most recent call last):
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/bin/reho-test-import", line 8, in <module>
    sys.exit(test_import_reho_modules())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/reho/test/test_import.py", line 19, in test_import_reho_modules
    __import__(module)
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/reho/model/__init__.py", line 1, in <module>
    from . import reho
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/reho/model/reho.py", line 4, in <module>
    from reho.model.master_problem import *
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/reho/model/master_problem.py", line 11, in <module>
    from reho.model.preprocessing.local_data import *
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/reho/model/preprocessing/local_data.py", line 2, in <module>
    import reho.model.preprocessing.weather as weather
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/reho/model/preprocessing/weather.py", line 9, in <module>
    import pvlib
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/pvlib/__init__.py", line 3, in <module>
    from pvlib import (  # noqa: F401
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/pvlib/spectrum/__init__.py", line 15, in <module>
    from pvlib.spectrum.response import (  # noqa: F401
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/pvlib/spectrum/response.py", line 9, in <module>
    from scipy.interpolate import interp1d
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/scipy/interpolate/__init__.py", line 167, in <module>
    from ._interpolate import *
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/scipy/interpolate/_interpolate.py", line 12, in <module>
    from . import _fitpack_py
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/scipy/interpolate/_fitpack_py.py", line 8, in <module>
    from ._fitpack_impl import bisplrep, bisplev, dblint  # noqa: F401
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/scipy/interpolate/_fitpack_impl.py", line 103, in <module>
    'iwrk': array([], dfitpack_int), 'u': array([], float),
            ^^^^^^^^^^^^^^^^^^^^^^^

    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 100, in _construction_repr
    return _scalar_str(dtype, short=short)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 143, in _scalar_str
    elif np.issubdtype(dtype, np.number):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/numerictypes.py", line 417, in issubdtype
    arg1 = dtype(arg1).type
           ^^^^^^^^^^^
  File "/usr/local/Caskroom/miniforge/base/envs/reho_review/lib/python3.12/site-packages/numpy/core/_dtype.py", line 46, in __repr__
    arg_str = _construction_repr(dtype, include_align=False)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RecursionError: maximum recursion depth exceeded

Anything else?

No response

DorsanL commented 6 days ago

Thank you for reporting this problem.

The relevant parts of the code have been adapted: an .env file is now only required when using a standard local license (its path has to be specified as an environment variable). For the Community Edition cloud-based license, the user simply has to activate it before running his first optimization. (https://github.com/IPESE/REHO/commit/82b76a4f09038fc0a27d8d9ba4af41ad9c189edb)

The "AMPL license" paragraph of "Getting started" section has been redesigned to clarify these instructions: https://reho.readthedocs.io/en/main/sections/5_Getting_started.html#ampl-license

willu47 commented 5 days ago

Great, thanks for this.

willu47 commented 5 days ago

Upon testing, while the recursion error has gone, the fundamental issue of not recognising that the .env file is in my current working folder (so relative to where I call the test script from) and not in a location relative to where the REHO package is kept, is the main issue here. See note in #13 again.

DorsanL commented 4 days ago

I suspect you still had the error because you were using version 1.1.4 installed with pip and not the updated code on the main branch? (such confusion might be coming from the fact that I prefer to not deploy a new version of the package in PyPI, when discussions are still on going about potential changes, as I had indicated in this post on the JOSS review discussion)

As mentioned in my message above, an .env file is no longer required with the cloud-based Community Edition license.

And for someone with a standard local license, the .env file specifying the AMPL_PATH can now be located either at the root directory or at the current working directory (https://github.com/IPESE/REHO/commit/b0ba53c1118e49b7a52d66655314b7280491da82)

DorsanL commented 4 days ago

NB: For your convenience, I deployed a REHO 1.1.5 in PyPI. I hope it'll be fine with these errors 🤞

willu47 commented 1 day ago

I installed the latest version from Github using pip install git+https://github.com/IPESE/REHO.git@main#egg=REHO. It is a good idea to deploy pre-release versions to PyPI, which is automatic with a tag such as v1.5.2-alpha (see this for examples of valid tags).

willu47 commented 1 day ago

The latest version closes this issue.