Запуская 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-контейнера, который работал еще три недели назад.






Очень хороший вопрос, проблема в одной из 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"]
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.