Ошибка "ERROR: Failed building wheel for esmre" при Deploy
Версия образа башни image: registry.getnoc.com/noc/tower:v1.0.6_alpine
Установка на одной ноде. Deploy доходит до шага "TASK [noc : Install ALL necessary python packages]", который заканчивается ошибкой.
TASK [noc : Install ALL necessary python packages]02:32
fatal: [srv-098-noc-pr]: FAILED! => {
"changed": false,
"cmd": [
"/opt/noc/bin/pip3",
"install",
"--upgrade",
"Django==3.1.13",
"FastAPI==0.71.0",
"Jinja2==3.0.3",
"PyYAML==6.0",
"Pygments==2.10.0",
"XlsxWriter==3.0.2",
"atomicl==0.1.1",
"asgiref>=3.4.0",
"blinker==1.4",
"bsdiff4==1.2.1",
"cachetools==4.2.4",
"crontab==0.22.9",
"csiphash==0.0.5",
"demjson3==3.0.5",
"dnspython==2.2.1",
"fs==2.4.13",
"geojson==2.5.0",
"geopy==2.2.0",
"grpcio==1.41.1",
"http-parser==0.9.0",
"manhole==1.7.0",
"markerlib==0.6.0",
"mongoengine==0.22.1",
"motor==2.5.1",
"networkx==2.6.3",
"numpy==1.20.2",
"orjson==3.6.5",
"pandas==1.4.1",
"progressbar2==3.55.0",
"protobuf==3.19.0",
"psycopg2==2.8.6",
"pydantic==1.8.2",
"pymongo==3.12.2",
"pyproj==3.2.1",
"python-consul==1.1.0",
"python-creole==1.4.10",
"python-dateutil==2.8.2",
"python-jose[cryptography]==3.3.0",
"python-multipart==0.0.5",
"pytz==2021.1",
"requests==2.26.0",
"setproctitle==1.2.2",
"tornado==6.0.4",
"uvicorn==0.16.0",
"yappi==1.3.3",
"ssh2-python==0.26.0",
"bitarray==2.3.4",
"https://github.com/wharris/esmre/archive/refs/heads/main.zip",
"supervisor==4.1.0",
"supervisor-serialrestart==0.1.1",
"Cython==0.29.24"
]
}
MSG:
stdout: Collecting https://github.com/wharris/esmre/archive/refs/heads/main.zip
Using cached https://github.com/wharris/esmre/archive/refs/heads/main.zip
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 Django==3.1.13
Using cached Django-3.1.13-py3-none-any.whl (7.8 MB)
Collecting FastAPI==0.71.0
Using cached fastapi-0.71.0-py3-none-any.whl (51 kB)
Collecting Jinja2==3.0.3
Using cached Jinja2-3.0.3-py3-none-any.whl (133 kB)
Collecting PyYAML==6.0
Using cached PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (701 kB)
Collecting Pygments==2.10.0
Using cached Pygments-2.10.0-py3-none-any.whl (1.0 MB)
Collecting XlsxWriter==3.0.2
Using cached XlsxWriter-3.0.2-py3-none-any.whl (149 kB)
Collecting atomicl==0.1.1
Using cached atomicl-0.1.1-py3-none-any.whl
Collecting asgiref>=3.4.0
Using cached asgiref-3.5.2-py3-none-any.whl (22 kB)
Collecting blinker==1.4
Using cached blinker-1.4-py3-none-any.whl
Collecting bsdiff4==1.2.1
Using cached bsdiff4-1.2.1-cp38-cp38-linux_x86_64.whl
Collecting cachetools==4.2.4
Using cached cachetools-4.2.4-py3-none-any.whl (10 kB)
Collecting crontab==0.22.9
Using cached crontab-0.22.9-py3-none-any.whl
Collecting csiphash==0.0.5
Using cached csiphash-0.0.5-cp38-cp38-linux_x86_64.whl
Collecting demjson3==3.0.5
Using cached demjson3-3.0.5-py3-none-any.whl
Collecting dnspython==2.2.1
Using cached dnspython-2.2.1-py3-none-any.whl (269 kB)
Collecting fs==2.4.13
Using cached fs-2.4.13-py2.py3-none-any.whl (131 kB)
Collecting geojson==2.5.0
Using cached geojson-2.5.0-py2.py3-none-any.whl (14 kB)
Collecting geopy==2.2.0
Using cached geopy-2.2.0-py3-none-any.whl (118 kB)
Collecting grpcio==1.41.1
Using cached grpcio-1.41.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.9 MB)
Collecting http-parser==0.9.0
Using cached http_parser-0.9.0-cp38-cp38-linux_x86_64.whl
Collecting manhole==1.7.0
Using cached manhole-1.7.0-py2.py3-none-any.whl (16 kB)
Collecting markerlib==0.6.0
Using cached markerlib-0.6.0-py3-none-any.whl
Collecting mongoengine==0.22.1
Using cached mongoengine-0.22.1-py3-none-any.whl (107 kB)
Collecting motor==2.5.1
Using cached motor-2.5.1-py3-none-any.whl (55 kB)
Collecting networkx==2.6.3
Using cached networkx-2.6.3-py3-none-any.whl (1.9 MB)
Collecting numpy==1.20.2
Using cached numpy-1.20.2-cp38-cp38-manylinux2010_x86_64.whl (15.4 MB)
Collecting orjson==3.6.5
Using cached orjson-3.6.5-cp38-cp38-manylinux_2_24_x86_64.whl (247 kB)
Collecting pandas==1.4.1
Using cached pandas-1.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.7 MB)
Collecting progressbar2==3.55.0
Using cached progressbar2-3.55.0-py2.py3-none-any.whl (26 kB)
Collecting protobuf==3.19.0
Using cached protobuf-3.19.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB)
Collecting psycopg2==2.8.6
Using cached psycopg2-2.8.6-cp38-cp38-linux_x86_64.whl
Collecting pydantic==1.8.2
Using cached pydantic-1.8.2-cp38-cp38-manylinux2014_x86_64.whl (13.7 MB)
Collecting pymongo==3.12.2
Using cached pymongo-3.12.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (527 kB)
Collecting pyproj==3.2.1
Using cached pyproj-3.2.1-cp38-cp38-manylinux2010_x86_64.whl (6.3 MB)
Collecting python-consul==1.1.0
Using cached python_consul-1.1.0-py2.py3-none-any.whl (24 kB)
Collecting python-creole==1.4.10
Using cached python_creole-1.4.10-py3-none-any.whl (86 kB)
Collecting python-dateutil==2.8.2
Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
Collecting python-jose[cryptography]==3.3.0
Using cached python_jose-3.3.0-py2.py3-none-any.whl (33 kB)
Collecting python-multipart==0.0.5
Using cached python_multipart-0.0.5-py3-none-any.whl
Collecting pytz==2021.1
Using cached pytz-2021.1-py2.py3-none-any.whl (510 kB)
Collecting requests==2.26.0
Using cached requests-2.26.0-py2.py3-none-any.whl (62 kB)
Collecting setproctitle==1.2.2
Using cached setproctitle-1.2.2-cp38-cp38-manylinux1_x86_64.whl (36 kB)
Collecting tornado==6.0.4
Using cached tornado-6.0.4-cp38-cp38-linux_x86_64.whl
Collecting uvicorn==0.16.0
Using cached uvicorn-0.16.0-py3-none-any.whl (54 kB)
Collecting yappi==1.3.3
Using cached yappi-1.3.3-cp38-cp38-linux_x86_64.whl
Collecting ssh2-python==0.26.0
Using cached ssh2_python-0.26.0-cp38-cp38-manylinux2010_x86_64.whl (4.3 MB)
Collecting bitarray==2.3.4
Using cached bitarray-2.3.4-cp38-cp38-linux_x86_64.whl
Collecting supervisor==4.1.0
Using cached supervisor-4.1.0-py2.py3-none-any.whl (318 kB)
Collecting supervisor-serialrestart==0.1.1
Using cached supervisor_serialrestart-0.1.1-py3-none-any.whl
Collecting Cython==0.29.24
Using cached Cython-0.29.24-cp38-cp38-manylinux1_x86_64.whl (1.9 MB)
Collecting sqlparse>=0.2.2
Using cached sqlparse-0.4.2-py3-none-any.whl (42 kB)
Collecting starlette==0.17.1
Using cached starlette-0.17.1-py3-none-any.whl (58 kB)
Collecting MarkupSafe>=2.0
Using cached MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25 kB)
Collecting cffi>=1.4.0
Using cached cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (442 kB)
Collecting appdirs~=1.4.3
Using cached appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
Collecting six~=1.10
Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Requirement already satisfied: setuptools in ./lib/python/site-packages (from fs==2.4.13) (41.2.0)
Collecting geographiclib<2,>=1.49
Using cached geographiclib-1.52-py3-none-any.whl (38 kB)
Collecting python-utils>=2.3.0
Using cached python_utils-3.3.3-py2.py3-none-any.whl (23 kB)
Collecting typing-extensions>=3.7.4.3
Using cached typing_extensions-4.3.0-py3-none-any.whl (25 kB)
Collecting certifi
Using cached certifi-2022.6.15-py3-none-any.whl (160 kB)
Collecting docutils
Using cached docutils-0.19-py3-none-any.whl (570 kB)
Collecting pyasn1
Using cached pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)
Collecting rsa
Using cached rsa-4.9-py3-none-any.whl (34 kB)
Collecting ecdsa!=0.15
Using cached ecdsa-0.18.0-py2.py3-none-any.whl (142 kB)
Collecting cryptography>=3.4.0
Using cached cryptography-37.0.4-cp36-abi3-manylinux_2_24_x86_64.whl (4.1 MB)
Collecting urllib3<1.27,>=1.21.1
Downloading urllib3-1.26.12-py2.py3-none-any.whl (140 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 140.4/140.4 kB 2.2 MB/s eta 0:00:00
Collecting charset-normalizer~=2.0.0
Using cached charset_normalizer-2.0.12-py3-none-any.whl (39 kB)
Collecting idna<4,>=2.5
Using cached idna-3.3-py3-none-any.whl (61 kB)
Collecting h11>=0.8
Using cached h11-0.13.0-py3-none-any.whl (58 kB)
Collecting click>=7.0
Using cached click-8.1.3-py3-none-any.whl (96 kB)
Collecting anyio<4,>=3.0.0
Using cached anyio-3.6.1-py3-none-any.whl (80 kB)
Collecting pycparser
Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Collecting sniffio>=1.1
Using cached sniffio-1.2.0-py3-none-any.whl (10 kB)
Building wheels for collected packages: esmre
Building wheel for esmre (pyproject.toml): started
Building wheel for esmre (pyproject.toml): finished with status 'error'
Failed to build esmre
:stderr: error: subprocess-exited-with-error
× Building wheel for esmre (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [17 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-cpython-38
copying src/esmre.py -> build/lib.linux-x86_64-cpython-38
running build_ext
building 'esm' extension
creating build/temp.linux-x86_64-cpython-38
creating build/temp.linux-x86_64-cpython-38/src
creating build/temp.linux-x86_64-cpython-38/src/esm
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/opt/noc/include -I/opt/python3.8.3/include/python3.8 -c src/esm.c -o build/temp.linux-x86_64-cpython-38/src/esm.o
src/esm.c:20:10: fatal error: Python.h: No such file or directory
20 | #include "Python.h"
| ^~~~~~~~~~
compilation terminated.
error: command '/usr/bin/gcc' failed with exit code 1
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for esmre
ERROR: Could not build wheels for esmre, which is required to install pyproject.toml-based projects