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

CCL >= 3.1.2 doesn't play nice with pytest #1226

Open
James11222 opened this issue Feb 14, 2025 · 0 comments
Open

CCL >= 3.1.2 doesn't play nice with pytest #1226

James11222 opened this issue Feb 14, 2025 · 0 comments

Comments

@James11222
Copy link

In release 3.1.2, @henryiii and I helped fix a bug that enables pyccl to be pip installable again. The fix we added to make the package pip installable was to add numpy as a build requirement for the package, but ultimately we find that this causes issues when working with pytest. In particular, I find that the pytest package doesn't play nice with versions of pyccl>=3.1.2 (below I post the segmentation fault error @henryiii and I found when running pytest on a test file that only contains import pyccl, it will throw this error.).

I think the only way to fix this issue would be to ship distribution wheels in the pip installation so we don't have to build pyccl natively (as suggested in #1219 (comment)).


platform darwin -- Python 3.12.7, pytest-8.3.4, pluggy-1.5.0
rootdir: /Users/jamessunseri/Desktop/GLASZ_Project/glasz
configfile: pyproject.toml
testpaths: tests
plugins: cov-6.0.0
collecting ... Fatal Python error: Segmentation fault

Current thread 0x00000002070b0840 (most recent call first):
File "", line 488 in _call_with_frames_removed
File "", line 1289 in create_module
File "", line 813 in module_from_spec
File "", line 921 in _load_unlocked
File "", line 1331 in _find_and_load_unlocked
File "", line 1360 in _find_and_load
File "", line 488 in _call_with_frames_removed
File "", line 1415 in _handle_fromlist
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/pyccl/ccllib.py", line 16 in
File "", line 488 in _call_with_frames_removed
File "", line 995 in exec_module
File "", line 935 in _load_unlocked
File "", line 1331 in _find_and_load_unlocked
File "", line 1360 in _find_and_load
File "", line 488 in _call_with_frames_removed
File "", line 1415 in _handle_fromlist
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/pyccl/init.py", line 22 in
File "", line 488 in _call_with_frames_removed
File "", line 995 in exec_module
File "", line 935 in _load_unlocked
File "", line 1331 in _find_and_load_unlocked
File "", line 1360 in _find_and_load
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/tests/test_GGL_unit.py", line 4 in
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/_pytest/assertion/rewrite.py", line 184 in exec_module
File "", line 935 in _load_unlocked
File "", line 1331 in _find_and_load_unlocked
File "", line 1360 in _find_and_load
File "", line 1387 in _gcd_import
File "/opt/homebrew/Cellar/[email protected]/3.12.7_1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/importlib/init.py", line 90 in import_module
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/_pytest/pathlib.py", line 587 in import_path
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/_pytest/python.py", line 493 in importtestmodule
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/_pytest/python.py", line 546 in _getobj
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/_pytest/python.py", line 284 in obj
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/_pytest/python.py", line 562 in _register_setup_module_fixture
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/_pytest/python.py", line 549 in collect
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/_pytest/runner.py", line 389 in collect
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/_pytest/runner.py", line 341 in from_call
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/_pytest/runner.py", line 391 in pytest_make_collect_report
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/pluggy/_callers.py", line 103 in _multicall
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/pluggy/_manager.py", line 120 in _hookexec
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/pluggy/_hooks.py", line 513 in call
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/_pytest/runner.py", line 567 in collect_one_node
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/_pytest/main.py", line 835 in _collect_one_node
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/_pytest/main.py", line 970 in genitems
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/_pytest/main.py", line 975 in genitems
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/_pytest/main.py", line 809 in perform_collect
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/_pytest/main.py", line 347 in pytest_collection
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/pluggy/_callers.py", line 103 in _multicall
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/pluggy/_manager.py", line 120 in _hookexec
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/pluggy/_hooks.py", line 513 in call
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/_pytest/main.py", line 336 in _main
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/_pytest/main.py", line 283 in wrap_session
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/_pytest/main.py", line 330 in pytest_cmdline_main
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/pluggy/_callers.py", line 103 in _multicall
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/pluggy/_manager.py", line 120 in _hookexec
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/pluggy/_hooks.py", line 513 in call
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/_pytest/config/init.py", line 175 in main
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/lib/python3.12/site-packages/_pytest/config/init.py", line 201 in console_main
File "/Users/jamessunseri/Desktop/GLASZ_Project/glasz/.nox/tests/bin/pytest", line 8 in

Extension modules: numpy.core._multiarray_umath, numpy.core._multiarray_tests, numpy.linalg._umath_linalg, numpy.fft._pocketfft_internal, numpy.random._common, numpy.random.bit_generator, numpy.random._bounded_integers, numpy.random._mt19937, numpy.random.mtrand, numpy.random._philox, numpy.random._pcg64, numpy.random._sfc64, numpy.random._generator (total: 13)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant