Skip to content

Sbpy in conda environment causes pytest collection to fail in Python<3.11 #368

@astronomerritt

Description

@astronomerritt

Creating a conda environment with sbpy causes pytest to fail to collect every single test due to a RuntimeWarning in Python<3.11.

The environments are created via:

conda create -n sspp_test -c conda-forge -c mjuric python=3.10 spiceypy=4.0.1 openorb numpy pandas matplotlib spice-utils pip pytest astropy scipy sbpy pytables

Then running pytest on this repo produces the following error during test collection for every single test:

____________________________________________________ ERROR collecting surveySimPP/modules/tests/test_PPVignetting.py ____________________________________________________
/opt/miniconda3/envs/sspp_test_310/lib/python3.10/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:992: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:992: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:992: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:1006: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:688: in _load_unlocked
    ???
<frozen importlib._bootstrap_external>:883: in exec_module
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
surveySimPP/__init__.py:1: in <module>
    from . import modules
surveySimPP/modules/__init__.py:3: in <module>
    from . import PPCalculateApparentMagnitude
surveySimPP/modules/PPCalculateApparentMagnitude.py:3: in <module>
    from .PPCalculateApparentMagnitudeInFilter import PPCalculateApparentMagnitudeInFilter
surveySimPP/modules/PPCalculateApparentMagnitudeInFilter.py:6: in <module>
    from sbpy.photometry import HG, HG1G2, HG12_Pen16, LinearPhaseFunc
/opt/miniconda3/envs/sspp_test_310/lib/python3.10/site-packages/sbpy/photometry/__init__.py:5: in <module>
    from .core import *
/opt/miniconda3/envs/sspp_test_310/lib/python3.10/site-packages/sbpy/photometry/core.py:16: in <module>
    from astropy.modeling import (Fittable1DModel, Parameter)
/opt/miniconda3/envs/sspp_test_310/lib/python3.10/site-packages/astropy/modeling/__init__.py:10: in <module>
    from . import fitting, models
/opt/miniconda3/envs/sspp_test_310/lib/python3.10/site-packages/astropy/modeling/fitting.py:39: in <module>
    from .spline import (  # noqa: F401
/opt/miniconda3/envs/sspp_test_310/lib/python3.10/site-packages/astropy/modeling/spline.py:15: in <module>
    from .core import FittableModel, ModelDefinitionError
/opt/miniconda3/envs/sspp_test_310/lib/python3.10/site-packages/astropy/modeling/core.py:29: in <module>
    from astropy.nddata.utils import add_array, extract_array
/opt/miniconda3/envs/sspp_test_310/lib/python3.10/site-packages/astropy/nddata/__init__.py:14: in <module>
    from .blocks import *
/opt/miniconda3/envs/sspp_test_310/lib/python3.10/site-packages/astropy/nddata/blocks.py:8: in <module>
    from .decorators import support_nddata
/opt/miniconda3/envs/sspp_test_310/lib/python3.10/site-packages/astropy/nddata/decorators.py:12: in <module>
    from .nddata import NDData
/opt/miniconda3/envs/sspp_test_310/lib/python3.10/site-packages/astropy/nddata/nddata.py:12: in <module>
    from astropy.wcs.wcsapi import (
/opt/miniconda3/envs/sspp_test_310/lib/python3.10/site-packages/astropy/wcs/__init__.py:26: in <module>
    from . import utils
/opt/miniconda3/envs/sspp_test_310/lib/python3.10/site-packages/astropy/wcs/utils.py:8: in <module>
    from astropy.coordinates import ITRS, CartesianRepresentation, SphericalRepresentation
/opt/miniconda3/envs/sspp_test_310/lib/python3.10/site-packages/astropy/coordinates/__init__.py:13: in <module>
    from .builtin_frames import *
/opt/miniconda3/envs/sspp_test_310/lib/python3.10/site-packages/astropy/coordinates/builtin_frames/__init__.py:30: in <module>
    from .cirs import CIRS
/opt/miniconda3/envs/sspp_test_310/lib/python3.10/site-packages/astropy/coordinates/builtin_frames/cirs.py:8: in <module>
    from .utils import DEFAULT_OBSTIME, EARTH_CENTER
/opt/miniconda3/envs/sspp_test_310/lib/python3.10/site-packages/astropy/coordinates/builtin_frames/utils.py:15: in <module>
    from astropy.utils import iers
/opt/miniconda3/envs/sspp_test_310/lib/python3.10/site-packages/astropy/utils/iers/__init__.py:1: in <module>
    from .iers import *
/opt/miniconda3/envs/sspp_test_310/lib/python3.10/site-packages/astropy/utils/iers/iers.py:23: in <module>
    from astropy.table import MaskedColumn, QTable
/opt/miniconda3/envs/sspp_test_310/lib/python3.10/site-packages/astropy/table/__init__.py:6: in <module>
    from .column import Column, ColumnInfo, MaskedColumn, StringTruncateWarning
/opt/miniconda3/envs/sspp_test_310/lib/python3.10/site-packages/astropy/table/column.py:20: in <module>
    from ._column_mixins import _ColumnGetitemShim, _MaskedColumnGetitemShim
astropy/table/_column_mixins.pyx:1: in init astropy.table._column_mixins
    ???
E   RuntimeWarning: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 96 from PyObject

As can be seen, the traceback leads to sbpy and then to astropy.

Tests run as expected in Python 3.11, no warnings. There's a full writeup in this issue.

For both Python 3.10 and Python 3.11:
Operating system and version: MacOS Monterey 12.6.2
sbpy version: 0.3.0
astropy version: 5.2.1
numpy version: 1.24.1

Thanks in advance for any help!

Metadata

Metadata

Assignees

No one assigned

    Labels

    potential bugautomated label to indicate issue reports

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions