Hi Andreas, [...]
debian/rules override_dh_auto_build make[1]: Entering directory '/build/python-awkward-2.6.1' nox -s prepare nox > Running session prepare nox > Creating virtual environment (virtualenv) using python3 in .nox/prepare nox > python -m pip install build numpy packaging PyYAML requests tomli nox > Command python -m pip install build numpy packaging PyYAML requests tomli failed with exit code 1: WARNING: The directory '/nonexistent/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you should use sudo's -H flag. WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7fa8150836d0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/build/ WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7fa815083e10>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/build/ WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7fa8150d4810>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/build/ WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7fa8150d5210>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/build/ WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7fa8150d5c50>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/build/ ERROR: Could not find a version that satisfies the requirement build (from versions: none) ERROR: No matching distribution found for build nox > Session prepare failed. make[1]: *** [debian/rules:18: override_dh_auto_build] Error 1
Hmm, I never had that. The buildd builds also seem to pass this step with no errors. I am wondering if nox wants to pull anything from PyPI using pip and either your DNS configuration is weird or your build container cannot access the Internet (which than again it shouldn't)... but if buildds are not supposed to access the Internet why don't the builds fail there? On the buildds the issue there seems to be related to a script using an old(?) Python YAML library syntax:
https://buildd.debian.org/status/package.php?p=python-awkward
Even worse: It requires pyarrow
It does? The project metadata, where all other dependencies are listed, does not mention it, and the dependencies that are listed there are all from Debian:
... dependencies = [ "awkward_cpp==29", "importlib_metadata>=4.13.0;python_version < \"3.12\"", "numpy>=1.18.0", "packaging", "typing_extensions>=4.1.0; python_version < \"3.11\"", "fsspec>=2022.11.0" ] ...Grepping through the test requirements though seems to indicate that the tests in the awkward package need pyarrow:
❯ grep pyarrow *requi* pyproject.tomlrequirements-test-full.txt:pyarrow>=7.0.0;sys_platform != "win32" and python_version < "3.12"
requirements-test-minimal.txt:pyarrow==7.0.0But I disabled the Python unit tests (mostly because I couldn't get them to work with the combined C++ and Python package built here) so I didn't catch it. I was also under the impression that awkward working with data from pyarrow would just be one use case, but not a hard requirement for awkward to work. Probably too optimistic given your observations :/
____________________ ERROR collecting tests/test_awkward.py ____________________ ImportError while importing test module '/tmp/autopkgtest.sD3d5G/autopkgtest_tmp/tests/test_awkward.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.12/importlib/__init__.py:90: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/test_awkward.py:205: in <module> ak.str.to_categorical(ak.Array([["a", "b", "c"], ["a", "b"]])), /usr/lib/python3/dist-packages/awkward/_dispatch.py:62: in dispatch next(gen_or_result) /usr/lib/python3/dist-packages/awkward/operations/str/akstr_to_categorical.py:53: in to_categorical return _impl(array, highlevel, behavior, attrs) /usr/lib/python3/dist-packages/awkward/operations/str/akstr_to_categorical.py:60: in _impl pc = import_pyarrow_compute("ak.str.to_categorical") /usr/lib/python3/dist-packages/awkward/_connect/pyarrow.py:60: in import_pyarrow_compute raise ImportError(error_message.format(name)) E ImportError: to use ak.str.to_categorical, you must install pyarrow:
In that case it looks like anndata needs a feature of awkward that also needs pyarrow. Which is, yeah, a problem, given that we don't have anything form Arrow in Debian (yet). Since pyarrow is just bindings that need the rest of the library (https://arrow.apache.org/docs/python/index.html) then this pulls in another large dependency.
Since python-anndata is the last package with Python3.12 issues there is some work left on this front.
True. I am afraid that Arrow would be too much for me to take care of at the moment, sorry. I started it a while ago but quickly found that that I bit off more than I can chew without it becoming a full-time task.
(See my ITP and the thread on it) Kind regards Sascha
OpenPGP_signature.asc
Description: OpenPGP digital signature