Ошибка сборки Docker после обновления ОС

Запуская Docker v4.30.0 на MacOS Sonoma 14.5, я столкнулся с необычной проблемой в программе Docker, которая раньше работала три недели назад.

Что мне следует сделать, чтобы это исправить?

Докерфайл

FROM python:3.11

# Keeps Python from generating .pyc files in the container
ENV PYTHONDONTWRITEBYTECODE=1

# Turns off buffering for easier container logging
ENV PYTHONUNBUFFERED=1

# Set the working directory to /app
WORKDIR /app

COPY requirements.txt .
RUN pip3 install --no-cache-dir -r requirements.txt

# Switching to a non-root user, please refer to https://aka.ms/vscode-docker-python-user-rights
RUN useradd appuser && chown -R appuser /app
USER appuser

EXPOSE 5001

# During debugging, this entry point will be overridden. For more information, please refer to https://aka.ms/vscode-docker-python-debug
CMD ["python", "main.py"]

Требования

# Main actors
pandas==1.5.2
numpy==1.23.5

PyYAML==6.0

# openpyxl is required if we load xlsx files.
openpyxl==3.0.9

# only for plotting
# matplotlib==3.3.3

# compare name similarity using ngrams
string_grouper==0.1.1

# Only if adjusting excel column widths
xlsxwriter==3.0.2

# for mock data generation
faker==13.0.0

# For repeating experiments
# flask==2.0.3

# Unit testing
pytest==7.0.1

# For json.dump but converting NaN into null
simplejson==3.18.0

gender-guesser==0.4.0

Вывод ошибки сборки

[internal] load build definition from Dockerfile
    transferring 763/0 0.003
[internal] load metadata for docker.io/library/python:3.11
[internal] load .dockerignore
[internal] load build context
    transferring 611/0 0.004
[1/5] FROM docker.io/library/python:3.11@sha256:091e0f5da680e5c972c59cb7eca172141bb6350045b592c284e2fd3bf2916dd9
    resolve docker.io/library/python:3.11@sha256:091e0f5da680e5c972c59cb7eca172141bb6350045b592c284e2fd3bf2916dd9 0/0 0.01
    sha256:b493cb19e676119b08c94a6372eab5d2b845a6f629e7c831b5f02a19083ef80d 3130340/3130340 0.547
    sha256:01f4847499fb013c8a68df2e212cd4360f2a55fb657a634e1a935faca96ec8f7 244/244 0.382
    sha256:1270f6c33d669576d0e7ff84d12e4f923f6bf50968cf95b23d33ca1b4e9a484e 19491183/19491183 8.538
    sha256:228270bb5dc5207f6bbf31f0728807c55124238c0b5e44dc35eafcc56e166acb 6470678/6470678 2.499
    sha256:feb30c5ba2d151512d29ff4b92109a740559509ef6f3072a86c5006a1379397b 202593312/202593312 27.239
    sha256:30ed4c12791345d3f20f66024e1f22275ce507868c508509b83dcf231b1c9adc 63994370/63994370 15.215
    sha256:15856ca26414127b85cee6d10acbc4cee6eba9070f3f5a04b9cc72ce95abfa7f 23586610/23586610 7.574
    sha256:91e301773f03e9e0fabc5c177fe6bfe8daf14e992ab816f151692b814ddc462c 49613388/49613388 11.366
    extracting 0/0 0.509
    extracting 0/0 0.172
    extracting 0/0 0.604
    extracting 0/0 1.913
    extracting 0/0 0.066
    extracting 0/0 0.172
    extracting 0/0 0.003
    extracting 0/0 0.052
[2/5] WORKDIR /app
[3/5] COPY requirements.txt .
[4/5] RUN pip3 install --no-cache-dir -r requirements.txt
    Collecting pandas==1.5.2 (from -r requirements.txt (line 2))
    Downloading pandas-1.5.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.metadata (11 kB)
    Collecting numpy==1.23.5 (from -r requirements.txt (line 3))
    Downloading numpy-1.23.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.metadata (2.3 kB)
    Collecting PyYAML==6.0 (from -r requirements.txt (line 5))
    Downloading PyYAML-6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.metadata (2.1 kB)
    Collecting openpyxl==3.0.9 (from -r requirements.txt (line 8))
    Downloading openpyxl-3.0.9-py2.py3-none-any.whl.metadata (2.4 kB)
    Collecting string_grouper==0.1.1 (from -r requirements.txt (line 14))
    Downloading string_grouper-0.1.1-py3-none-any.whl.metadata (18 kB)
    Collecting xlsxwriter==3.0.2 (from -r requirements.txt (line 17))
    Downloading XlsxWriter-3.0.2-py3-none-any.whl.metadata (2.5 kB)
    Collecting faker==13.0.0 (from -r requirements.txt (line 20))
    Downloading Faker-13.0.0-py3-none-any.whl.metadata (15 kB)
    Collecting pytest==7.0.1 (from -r requirements.txt (line 26))
    Downloading pytest-7.0.1-py3-none-any.whl.metadata (7.8 kB)
    Collecting simplejson==3.18.0 (from -r requirements.txt (line 29))
    Downloading simplejson-3.18.0.tar.gz (83 kB)
    ââââââââââââââââââââââââââââââââââââââââ 83.5/83.5 kB 3.4 MB/s eta 0:00:00
    Preparing metadata (setup.py): started
    Preparing metadata (setup.py): finished with status 'done'
    Collecting gender-guesser==0.4.0 (from -r requirements.txt (line 31))
    Downloading gender_guesser-0.4.0-py2.py3-none-any.whl.metadata (3.0 kB)
    Collecting python-dateutil>=2.8.1 (from pandas==1.5.2->-r requirements.txt (line 2))
    Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)
    Collecting pytz>=2020.1 (from pandas==1.5.2->-r requirements.txt (line 2))
    Downloading pytz-2024.1-py2.py3-none-any.whl.metadata (22 kB)
    Collecting et-xmlfile (from openpyxl==3.0.9->-r requirements.txt (line 8))
    Downloading et_xmlfile-1.1.0-py3-none-any.whl.metadata (1.8 kB)
    Collecting scipy (from string_grouper==0.1.1->-r requirements.txt (line 14))
    Downloading scipy-1.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.metadata (60 kB)
    ââââââââââââââââââââââââââââââââââââââââ 60.6/60.6 kB 4.8 MB/s eta 0:00:00
    Collecting scikit-learn (from string_grouper==0.1.1->-r requirements.txt (line 14))
    Downloading scikit_learn-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.metadata (11 kB)
    Collecting sparse-dot-topn>=0.2.6 (from string_grouper==0.1.1->-r requirements.txt (line 14))
    Downloading sparse-dot-topn-1.1.1.tar.gz (43 kB)
    ââââââââââââââââââââââââââââââââââââââââ 43.4/43.4 kB 5.2 MB/s eta 0:00:00
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Installing backend dependencies: started
    Installing backend dependencies: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'done'
    Collecting attrs>=19.2.0 (from pytest==7.0.1->-r requirements.txt (line 26))
    Downloading attrs-23.2.0-py3-none-any.whl.metadata (9.5 kB)
    Collecting iniconfig (from pytest==7.0.1->-r requirements.txt (line 26))
    Downloading iniconfig-2.0.0-py3-none-any.whl.metadata (2.6 kB)
    Collecting packaging (from pytest==7.0.1->-r requirements.txt (line 26))
    Downloading packaging-24.0-py3-none-any.whl.metadata (3.2 kB)
    Collecting pluggy<2.0,>=0.12 (from pytest==7.0.1->-r requirements.txt (line 26))
    Downloading pluggy-1.5.0-py3-none-any.whl.metadata (4.8 kB)
    Collecting py>=1.8.2 (from pytest==7.0.1->-r requirements.txt (line 26))
    Downloading py-1.11.0-py2.py3-none-any.whl.metadata (2.8 kB)
    Collecting tomli>=1.0.0 (from pytest==7.0.1->-r requirements.txt (line 26))
    Downloading tomli-2.0.1-py3-none-any.whl.metadata (8.9 kB)
    Collecting six>=1.5 (from python-dateutil>=2.8.1->pandas==1.5.2->-r requirements.txt (line 2))
    Downloading six-1.16.0-py2.py3-none-any.whl.metadata (1.8 kB)
    Collecting psutil (from sparse-dot-topn>=0.2.6->string_grouper==0.1.1->-r requirements.txt (line 14))
    Downloading psutil-5.9.8.tar.gz (503 kB)
    âââââââââââââââââââââââââââââââââââââââ 503.2/503.2 kB 6.3 MB/s eta 0:00:00
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'done'
    Collecting joblib>=1.2.0 (from scikit-learn->string_grouper==0.1.1->-r requirements.txt (line 14))
    Downloading joblib-1.4.2-py3-none-any.whl.metadata (5.4 kB)
    Collecting threadpoolctl>=3.1.0 (from scikit-learn->string_grouper==0.1.1->-r requirements.txt (line 14))
    Downloading threadpoolctl-3.5.0-py3-none-any.whl.metadata (13 kB)
    Downloading pandas-1.5.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (11.4 MB)
    ââââââââââââââââââââââââââââââââââââââââ 11.4/11.4 MB 13.6 MB/s eta 0:00:00
    Downloading numpy-1.23.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.9 MB)
    ââââââââââââââââââââââââââââââââââââââââ 13.9/13.9 MB 13.5 MB/s eta 0:00:00
    Downloading PyYAML-6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (732 kB)
    ââââââââââââââââââââââââââââââââââââââââ 732.4/732.4 kB 12.6 MB/s eta 0:00:00
    Downloading openpyxl-3.0.9-py2.py3-none-any.whl (242 kB)
    ââââââââââââââââââââââââââââââââââââââââ 242.2/242.2 kB 22.9 MB/s eta 0:00:00
    Downloading string_grouper-0.1.1-py3-none-any.whl (11 kB)
    Downloading XlsxWriter-3.0.2-py3-none-any.whl (149 kB)
    ââââââââââââââââââââââââââââââââââââââââ 149.9/149.9 kB 12.2 MB/s eta 0:00:00
    Downloading Faker-13.0.0-py3-none-any.whl (1.5 MB)
    ââââââââââââââââââââââââââââââââââââââââ 1.5/1.5 MB 14.0 MB/s eta 0:00:00
    Downloading pytest-7.0.1-py3-none-any.whl (296 kB)
    ââââââââââââââââââââââââââââââââââââââââ 297.0/297.0 kB 16.5 MB/s eta 0:00:00
    Downloading gender_guesser-0.4.0-py2.py3-none-any.whl (379 kB)
    ââââââââââââââââââââââââââââââââââââââââ 379.3/379.3 kB 15.8 MB/s eta 0:00:00
    Downloading attrs-23.2.0-py3-none-any.whl (60 kB)
    ââââââââââââââââââââââââââââââââââââââââ 60.8/60.8 kB 110.0 MB/s eta 0:00:00
    Downloading pluggy-1.5.0-py3-none-any.whl (20 kB)
    Downloading py-1.11.0-py2.py3-none-any.whl (98 kB)
    ââââââââââââââââââââââââââââââââââââââââ 98.7/98.7 kB 98.1 MB/s eta 0:00:00
    Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
    ââââââââââââââââââââââââââââââââââââââââ 229.9/229.9 kB 14.6 MB/s eta 0:00:00
    Downloading pytz-2024.1-py2.py3-none-any.whl (505 kB)
    ââââââââââââââââââââââââââââââââââââââââ 505.5/505.5 kB 14.0 MB/s eta 0:00:00
    Downloading scipy-1.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (33.7 MB)
    ââââââââââââââââââââââââââââââââââââââââ 33.7/33.7 MB 13.6 MB/s eta 0:00:00
    Downloading tomli-2.0.1-py3-none-any.whl (12 kB)
    Downloading et_xmlfile-1.1.0-py3-none-any.whl (4.7 kB)
    Downloading iniconfig-2.0.0-py3-none-any.whl (5.9 kB)
    Downloading packaging-24.0-py3-none-any.whl (53 kB)
    ââââââââââââââââââââââââââââââââââââââââ 53.5/53.5 kB 67.1 MB/s eta 0:00:00
    Downloading scikit_learn-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (12.5 MB)
    ââââââââââââââââââââââââââââââââââââââââ 12.5/12.5 MB 13.5 MB/s eta 0:00:00
    Downloading joblib-1.4.2-py3-none-any.whl (301 kB)
    ââââââââââââââââââââââââââââââââââââââââ 301.8/301.8 kB 16.6 MB/s eta 0:00:00
    Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
    Downloading threadpoolctl-3.5.0-py3-none-any.whl (18 kB)
    Building wheels for collected packages: simplejson, sparse-dot-topn, psutil
    Building wheel for simplejson (setup.py): started
    Building wheel for simplejson (setup.py): finished with status 'done'
    Created wheel for simplejson: filename=simplejson-3.18.0-cp311-cp311-linux_aarch64.whl size=138961 sha256=2c399c222a90ca55045f87a57a2512ac229656b6a7810fc24557f3f5c5d5eb74
    Stored in directory: /tmp/pip-ephem-wheel-cache-1ech32zu/wheels/fa/db/a0/36fb3a2307fcdd78b8df351678850dab004261bb3f3feca281
    Building wheel for sparse-dot-topn (pyproject.toml): started
    Building wheel for sparse-dot-topn (pyproject.toml): finished with status 'error'
    error: subprocess-exited-with-error
    
    Ã Building wheel for sparse-dot-topn (pyproject.toml) did not run successfully.
    â exit code: 1
    â°â> [89 lines of output]
    *** scikit-build-core 0.9.4 using CMake 3.29.3 (wheel)
    *** Configuring CMake...
    loading initial cache file build/cp311-cp311-linux_aarch64/CMakeInit.txt
    -- The CXX compiler identification is GNU 12.2.0
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: /usr/bin/c++ - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Found Python: /usr/local/bin/python (found suitable version "3.11.9", minimum required is "3.8") found components: Interpreter Development.Module Development.SABIModule
    -- sparse-dot-topn | OpenMP disabled: OFF
    -- Found OpenMP_CXX: -fopenmp (found version "4.5")
    -- Found OpenMP: TRUE (found version "4.5")
    -- Performing Test HAVE_MARCH
    -- Performing Test HAVE_MARCH - Success
    -- Performing Test HAVE_MM_MALLOC
    -- Performing Test HAVE_MM_MALLOC - Failed
    -- Performing Test HAVE_POSIX_MEMALIGN
    -- Performing Test HAVE_POSIX_MEMALIGN - Success
    -- Performing Test HAVE_SSE4_2_EXTENSIONS
    -- Performing Test HAVE_SSE4_2_EXTENSIONS - Failed
    -- Performing Test HAVE_SSE4_1_EXTENSIONS
    -- Performing Test HAVE_SSE4_1_EXTENSIONS - Failed
    -- Performing Test HAVE_SSSE3_EXTENSIONS
    -- Performing Test HAVE_SSSE3_EXTENSIONS - Failed
    -- Performing Test HAVE_SSE3_EXTENSIONS
    -- Performing Test HAVE_SSE3_EXTENSIONS - Failed
    -- Performing Test HAVE_SSE2_EXTENSIONS
    -- Performing Test HAVE_SSE2_EXTENSIONS - Failed
    -- Performing Test HAVE_SSE_EXTENSIONS
    -- Performing Test HAVE_SSE_EXTENSIONS - Failed
    -- Using CPU native flags for SSE optimization:  -ffloat-store -march=native
    -- Performing Test HAVE_AVX2
    -- Performing Test HAVE_AVX2 - Failed
    -- Performing Test HAVE_AVX
    -- Performing Test HAVE_AVX - Failed
    -- sparse-dot-topn | Enabled arch flags: -ffloat-store -march=native
    -- Configuring done (0.3s)
    -- Generating done (0.0s)
    -- Build files have been written to: /tmp/pip-install-sqqiishr/sparse-dot-topn_f7ed7deb02154b10921b5737d69b0438/build/cp311-cp311-linux_aarch64
    *** Building project with Ninja...
    [1/16] Building CXX object CMakeFiles/_sparse_dot_topn_core.dir/src/sparse_dot_topn_core/src/extension.cpp.o
    [2/16] Building CXX object CMakeFiles/_sparse_dot_topn_core.dir/src/sparse_dot_topn_core/src/sp_matmul_bindings.cpp.o
    FAILED: CMakeFiles/_sparse_dot_topn_core.dir/src/sparse_dot_topn_core/src/sp_matmul_bindings.cpp.o
    /usr/bin/c++ -DSDTN_OMP_ENABLED=TRUE -DVERSION_INFO=1.1.1 -D_sparse_dot_topn_core_EXPORTS -I/tmp/pip-install-sqqiishr/sparse-dot-topn_f7ed7deb02154b10921b5737d69b0438/src/sparse_dot_topn_core/include -I/usr/local/include/python3.11 -I/tmp/pip-build-env-9irisywo/overlay/lib/python3.11/site-packages/nanobind/include -O3 -DNDEBUG -std=gnu++17 -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -fno-stack-protector -ffloat-store -march=native -ffunction-sections -fdata-sections -fopenmp -MD -MT CMakeFiles/_sparse_dot_topn_core.dir/src/sparse_dot_topn_core/src/sp_matmul_bindings.cpp.o -MF CMakeFiles/_sparse_dot_topn_core.dir/src/sparse_dot_topn_core/src/sp_matmul_bindings.cpp.o.d -o CMakeFiles/_sparse_dot_topn_core.dir/src/sparse_dot_topn_core/src/sp_matmul_bindings.cpp.o -c /tmp/pip-install-sqqiishr/sparse-dot-topn_f7ed7deb02154b10921b5737d69b0438/src/sparse_dot_topn_core/src/sp_matmul_bindings.cpp
    /tmp/pip-install-sqqiishr/sparse-dot-topn_f7ed7deb02154b10921b5737d69b0438/src/sparse_dot_topn_core/src/sp_matmul_bindings.cpp: In function âvoid sdtn::bindings::bind_sp_matmul(nanobind::module_&)â:
    /tmp/pip-install-sqqiishr/sparse-dot-topn_f7ed7deb02154b10921b5737d69b0438/src/sparse_dot_topn_core/src/sp_matmul_bindings.cpp:39:13: error: âraw_docâ is not a member of âsdtn::bindings::nbâ
    39 |         nb::raw_doc(
    |             ^~~~~~~
    /tmp/pip-install-sqqiishr/sparse-dot-topn_f7ed7deb02154b10921b5737d69b0438/src/sparse_dot_topn_core/src/sp_matmul_bindings.cpp: In function âvoid sdtn::bindings::bind_sp_matmul_mt(nanobind::module_&)â:
    /tmp/pip-install-sqqiishr/sparse-dot-topn_f7ed7deb02154b10921b5737d69b0438/src/sparse_dot_topn_core/src/sp_matmul_bindings.cpp:159:13: error: âraw_docâ is not a member of âsdtn::bindings::nbâ
    159 |         nb::raw_doc(
    |             ^~~~~~~
    [3/16] Building CXX object CMakeFiles/nanobind-static.dir/tmp/pip-build-env-9irisywo/overlay/lib/python3.11/site-packages/nanobind/src/nb_ndarray.cpp.o
    [4/16] Building CXX object CMakeFiles/_sparse_dot_topn_core.dir/src/sparse_dot_topn_core/src/zip_sp_matmul_topn_bindings.cpp.o
    FAILED: CMakeFiles/_sparse_dot_topn_core.dir/src/sparse_dot_topn_core/src/zip_sp_matmul_topn_bindings.cpp.o
    /usr/bin/c++ -DSDTN_OMP_ENABLED=TRUE -DVERSION_INFO=1.1.1 -D_sparse_dot_topn_core_EXPORTS -I/tmp/pip-install-sqqiishr/sparse-dot-topn_f7ed7deb02154b10921b5737d69b0438/src/sparse_dot_topn_core/include -I/usr/local/include/python3.11 -I/tmp/pip-build-env-9irisywo/overlay/lib/python3.11/site-packages/nanobind/include -O3 -DNDEBUG -std=gnu++17 -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -fno-stack-protector -ffloat-store -march=native -ffunction-sections -fdata-sections -fopenmp -MD -MT CMakeFiles/_sparse_dot_topn_core.dir/src/sparse_dot_topn_core/src/zip_sp_matmul_topn_bindings.cpp.o -MF CMakeFiles/_sparse_dot_topn_core.dir/src/sparse_dot_topn_core/src/zip_sp_matmul_topn_bindings.cpp.o.d -o CMakeFiles/_sparse_dot_topn_core.dir/src/sparse_dot_topn_core/src/zip_sp_matmul_topn_bindings.cpp.o -c /tmp/pip-install-sqqiishr/sparse-dot-topn_f7ed7deb02154b10921b5737d69b0438/src/sparse_dot_topn_core/src/zip_sp_matmul_topn_bindings.cpp
    /tmp/pip-install-sqqiishr/sparse-dot-topn_f7ed7deb02154b10921b5737d69b0438/src/sparse_dot_topn_core/src/zip_sp_matmul_topn_bindings.cpp: In function âvoid sdtn::bindings::bind_zip_sp_matmul_topn(nanobind::module_&)â:
    /tmp/pip-install-sqqiishr/sparse-dot-topn_f7ed7deb02154b10921b5737d69b0438/src/sparse_dot_topn_core/src/zip_sp_matmul_topn_bindings.cpp:38:13: error: âraw_docâ is not a member of âsdtn::bindings::nbâ
    38 |         nb::raw_doc(
    |             ^~~~~~~
    [5/16] Building CXX object CMakeFiles/nanobind-static.dir/tmp/pip-build-env-9irisywo/overlay/lib/python3.11/site-packages/nanobind/src/nb_internals.cpp.o
    [6/16] Building CXX object CMakeFiles/nanobind-static.dir/tmp/pip-build-env-9irisywo/overlay/lib/python3.11/site-packages/nanobind/src/nb_static_property.cpp.o
    [7/16] Building CXX object CMakeFiles/nanobind-static.dir/tmp/pip-build-env-9irisywo/overlay/lib/python3.11/site-packages/nanobind/src/nb_enum.cpp.o
    [8/16] Building CXX object CMakeFiles/nanobind-static.dir/tmp/pip-build-env-9irisywo/overlay/lib/python3.11/site-packages/nanobind/src/nb_func.cpp.o
    [9/16] Building CXX object CMakeFiles/_sparse_dot_topn_core.dir/src/sparse_dot_topn_core/src/sp_matmul_topn_bindings.cpp.o
    FAILED: CMakeFiles/_sparse_dot_topn_core.dir/src/sparse_dot_topn_core/src/sp_matmul_topn_bindings.cpp.o
    /usr/bin/c++ -DSDTN_OMP_ENABLED=TRUE -DVERSION_INFO=1.1.1 -D_sparse_dot_topn_core_EXPORTS -I/tmp/pip-install-sqqiishr/sparse-dot-topn_f7ed7deb02154b10921b5737d69b0438/src/sparse_dot_topn_core/include -I/usr/local/include/python3.11 -I/tmp/pip-build-env-9irisywo/overlay/lib/python3.11/site-packages/nanobind/include -O3 -DNDEBUG -std=gnu++17 -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -fno-stack-protector -ffloat-store -march=native -ffunction-sections -fdata-sections -fopenmp -MD -MT CMakeFiles/_sparse_dot_topn_core.dir/src/sparse_dot_topn_core/src/sp_matmul_topn_bindings.cpp.o -MF CMakeFiles/_sparse_dot_topn_core.dir/src/sparse_dot_topn_core/src/sp_matmul_topn_bindings.cpp.o.d -o CMakeFiles/_sparse_dot_topn_core.dir/src/sparse_dot_topn_core/src/sp_matmul_topn_bindings.cpp.o -c /tmp/pip-install-sqqiishr/sparse-dot-topn_f7ed7deb02154b10921b5737d69b0438/src/sparse_dot_topn_core/src/sp_matmul_topn_bindings.cpp
    /tmp/pip-install-sqqiishr/sparse-dot-topn_f7ed7deb02154b10921b5737d69b0438/src/sparse_dot_topn_core/src/sp_matmul_topn_bindings.cpp: In function âvoid sdtn::bindings::bind_sp_matmul_topn(nanobind::module_&)â:
    /tmp/pip-install-sqqiishr/sparse-dot-topn_f7ed7deb02154b10921b5737d69b0438/src/sparse_dot_topn_core/src/sp_matmul_topn_bindings.cpp:42:13: error: âraw_docâ is not a member of âsdtn::bindings::nbâ
    42 |         nb::raw_doc(
    |             ^~~~~~~
    /tmp/pip-install-sqqiishr/sparse-dot-topn_f7ed7deb02154b10921b5737d69b0438/src/sparse_dot_topn_core/src/sp_matmul_topn_bindings.cpp: In function âvoid sdtn::bindings::bind_sp_matmul_topn_sorted(nanobind::module_&)â:
    /tmp/pip-install-sqqiishr/sparse-dot-topn_f7ed7deb02154b10921b5737d69b0438/src/sparse_dot_topn_core/src/sp_matmul_topn_bindings.cpp:188:13: error: âraw_docâ is not a member of âsdtn::bindings::nbâ
    188 |         nb::raw_doc(
    |             ^~~~~~~
    /tmp/pip-install-sqqiishr/sparse-dot-topn_f7ed7deb02154b10921b5737d69b0438/src/sparse_dot_topn_core/src/sp_matmul_topn_bindings.cpp: In function âvoid sdtn::bindings::bind_sp_matmul_topn_mt(nanobind::module_&)â:
    /tmp/pip-install-sqqiishr/sparse-dot-topn_f7ed7deb02154b10921b5737d69b0438/src/sparse_dot_topn_core/src/sp_matmul_topn_bindings.cpp:335:13: error: âraw_docâ is not a member of âsdtn::bindings::nbâ
    335 |         nb::raw_doc(
    |             ^~~~~~~
    /tmp/pip-install-sqqiishr/sparse-dot-topn_f7ed7deb02154b10921b5737d69b0438/src/sparse_dot_topn_core/src/sp_matmul_topn_bindings.cpp: In function âvoid sdtn::bindings::bind_sp_matmul_topn_sorted_mt(nanobind::module_&)â:
    /tmp/pip-install-sqqiishr/sparse-dot-topn_f7ed7deb02154b10921b5737d69b0438/src/sparse_dot_topn_core/src/sp_matmul_topn_bindings.cpp:479:13: error: âraw_docâ is not a member of âsdtn::bindings::nbâ
    479 |         nb::raw_doc(
    |             ^~~~~~~
    [10/16] Building CXX object CMakeFiles/nanobind-static.dir/tmp/pip-build-env-9irisywo/overlay/lib/python3.11/site-packages/nanobind/src/common.cpp.o
    [11/16] Building CXX object CMakeFiles/nanobind-static.dir/tmp/pip-build-env-9irisywo/overlay/lib/python3.11/site-packages/nanobind/src/nb_type.cpp.o
    ninja: build stopped: subcommand failed.
    
    *** CMake build failed
    [end of output]
    
    note: This error originates from a subprocess, and is likely not a problem with pip.
    ERROR: Failed building wheel for sparse-dot-topn
    Building wheel for psutil (pyproject.toml): started
    Building wheel for psutil (pyproject.toml): finished with status 'done'
    Created wheel for psutil: filename=psutil-5.9.8-cp311-abi3-linux_aarch64.whl size=290020 sha256=719e6f4cbd1080653c53d9c2fa3cdf5e7608e8833020a400502d1d9ca80fecda
    Stored in directory: /tmp/pip-ephem-wheel-cache-1ech32zu/wheels/a6/1e/65/fb0ad37886dca3f25a0aa8e50f4903c5bdbde4bb8a9b1e27de
    Successfully built simplejson psutil
    Failed to build sparse-dot-topn
    ERROR: Could not build wheels for sparse-dot-topn, which is required to install pyproject.toml-based projects

Используя docker-compose up, я получаю ошибку при сборке Docker-контейнера, который работал еще три недели назад.

1) Попробуйте обновить cmake и ninja в докере. RUN apt-get update && apt-get -y install cmake ninja-build. 2) Также перед установкой requirements.txt обновите pip, setuptools и Wheels: RUN python -m pip install --force-reinstall pip setuptools wheel.

Johnny Cheesecutter 24.05.2024 20:20
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
1
99
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Очень хороший вопрос, проблема в одной из sparse-dot-topn зависимостей. Для сборки пакета вам понадобится библиотека Python nanobind версии ниже 2. Nanobind недавно был обновлен до 2.0 и удалена часть функциональности, которая используется для сборки sparse-dot-topn.

Вот отредактированный файл сборки, который вы можете использовать:

FROM python:3.11

RUN apt-get update && apt-get -y install cmake ninja-build

# Keeps Python from generating .pyc files in the container
ENV PYTHONDONTWRITEBYTECODE=1

# Turns off buffering for easier container logging
ENV PYTHONUNBUFFERED=1

RUN python -m pip install --force-reinstall pip setuptools wheel && \
    pip3 install nanobind~=1.9


# Set the working directory to /app
WORKDIR /app
COPY requirements.txt .
RUN pip3 install --no-cache-dir -r requirements.txt

# Switching to a non-root user, please refer to https://aka.ms/vscode-docker-python-user-rights
RUN useradd appuser && chown -R appuser /app
USER appuser

EXPOSE 5001

# During debugging, this entry point will be overridden. For more information, please refer to https://aka.ms/vscode-docker-python-debug
CMD ["python", "main.py"]

Другие вопросы по теме