-
Notifications
You must be signed in to change notification settings - Fork 4
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
Docker build failure of titiler-pgstac-api #107
Comments
Thanks for the bug report @bransonf! Here is the full error log that I see when I try to build the docker image locally: henry@quercus:~/workspace/devseed/eoapi-cdk/lib/titiler-pgstac-api$ docker build . --build-arg PYTHON_VERSION=3.11 -f runtime/Dockerfile
[+] Building 15.9s (9/15) docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 854B 0.0s
=> WARN: InvalidDefaultArgInFrom: Default value for ARG public.ecr.aws/lambda/python:${PYTHON 0.0s
=> WARN: FromPlatformFlagConstDisallowed: FROM --platform flag should not use constant value 0.0s
=> [internal] load metadata for public.ecr.aws/lambda/python:3.11 0.7s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [ 1/11] FROM public.ecr.aws/lambda/python:3.11@sha256:1816be4e08ecf134370c69d05ad3c9c72c75 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 2.08kB 0.0s
=> CACHED [ 2/11] WORKDIR /tmp 0.0s
=> CACHED [ 3/11] RUN python -m pip install pip -U 0.0s
=> [ 4/11] COPY runtime/requirements.txt requirements.txt 0.0s
=> ERROR [ 5/11] RUN python -m pip install -r requirements.txt "mangum>=0.14,<0.15" -t /asse 15.1s
------
> [ 5/11] RUN python -m pip install -r requirements.txt "mangum>=0.14,<0.15" -t /asset:
0.688 Collecting mangum<0.15,>=0.14
0.786 Downloading mangum-0.14.1-py3-none-any.whl.metadata (3.1 kB)
0.836 Collecting titiler.pgstac==1.2.2 (from -r requirements.txt (line 1))
0.886 Downloading titiler.pgstac-1.2.2-py3-none-any.whl.metadata (6.4 kB)
0.934 Collecting psycopg[binary,pool] (from -r requirements.txt (line 2))
0.953 Downloading psycopg-3.2.1-py3-none-any.whl.metadata (4.2 kB)
1.000 Collecting geojson-pydantic~=1.0 (from titiler.pgstac==1.2.2->-r requirements.txt (line 1))
1.025 Downloading geojson_pydantic-1.1.0-py3-none-any.whl.metadata (4.1 kB)
1.065 Collecting pydantic-settings~=2.0 (from titiler.pgstac==1.2.2->-r requirements.txt (line 1))
1.090 Downloading pydantic_settings-2.4.0-py3-none-any.whl.metadata (3.5 kB)
1.298 Collecting pydantic<3.0,>=2.4 (from titiler.pgstac==1.2.2->-r requirements.txt (line 1))
1.327 Downloading pydantic-2.8.2-py3-none-any.whl.metadata (125 kB)
1.431 Collecting titiler.core<0.18,>=0.17.0 (from titiler.pgstac==1.2.2->-r requirements.txt (line 1))
1.475 Downloading titiler.core-0.17.3-py3-none-any.whl.metadata (4.0 kB)
1.528 Collecting titiler.mosaic<0.18,>=0.17.0 (from titiler.pgstac==1.2.2->-r requirements.txt (line 1))
1.576 Downloading titiler.mosaic-0.17.3-py3-none-any.whl.metadata (2.6 kB)
1.619 Collecting typing-extensions (from mangum<0.15,>=0.14)
1.646 Downloading typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)
1.825 Collecting psycopg-binary==3.2.1 (from psycopg[binary,pool]->-r requirements.txt (line 2))
1.845 Downloading psycopg_binary-3.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.8 kB)
1.884 Collecting psycopg-pool (from psycopg[binary,pool]->-r requirements.txt (line 2))
1.903 Downloading psycopg_pool-3.2.2-py3-none-any.whl.metadata (2.6 kB)
1.952 Collecting annotated-types>=0.4.0 (from pydantic<3.0,>=2.4->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
1.972 Downloading annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)
2.560 Collecting pydantic-core==2.20.1 (from pydantic<3.0,>=2.4->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
2.579 Downloading pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)
2.634 Collecting python-dotenv>=0.21.0 (from pydantic-settings~=2.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
2.653 Downloading python_dotenv-1.0.1-py3-none-any.whl.metadata (23 kB)
2.716 Collecting fastapi>=0.107.0 (from titiler.core<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
2.734 Downloading fastapi-0.112.1-py3-none-any.whl.metadata (27 kB)
2.773 Collecting jinja2<4.0.0,>=2.11.2 (from titiler.core<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
2.799 Downloading jinja2-3.1.4-py3-none-any.whl.metadata (2.6 kB)
2.835 Collecting morecantile<6.0,>=5.0 (from titiler.core<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
2.857 Downloading morecantile-5.3.1-py3-none-any.whl.metadata (6.9 kB)
2.994 Collecting numpy (from titiler.core<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
3.013 Downloading numpy-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (60 kB)
3.160 Collecting rasterio (from titiler.core<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
3.178 Downloading rasterio-1.3.10-cp311-cp311-manylinux2014_x86_64.whl.metadata (14 kB)
3.232 Collecting rio-tiler<7.0,>=6.3.0 (from titiler.core<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
3.250 Downloading rio_tiler-6.6.1-py3-none-any.whl.metadata (11 kB)
3.338 Collecting simplejson (from titiler.core<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
3.358 Downloading simplejson-3.19.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.2 kB)
3.390 Collecting cogeo-mosaic<8.0,>=7.0 (from titiler.mosaic<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
3.410 Downloading cogeo_mosaic-7.1.0-py3-none-any.whl.metadata (17 kB)
3.450 Collecting attrs (from cogeo-mosaic<8.0,>=7.0->titiler.mosaic<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
3.469 Downloading attrs-24.2.0-py3-none-any.whl.metadata (11 kB)
3.507 Collecting cachetools (from cogeo-mosaic<8.0,>=7.0->titiler.mosaic<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
3.527 Downloading cachetools-5.5.0-py3-none-any.whl.metadata (5.3 kB)
3.566 Collecting httpx (from cogeo-mosaic<8.0,>=7.0->titiler.mosaic<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
3.586 Downloading httpx-0.27.0-py3-none-any.whl.metadata (7.2 kB)
3.675 Collecting shapely<3.0,>=2.0 (from cogeo-mosaic<8.0,>=7.0->titiler.mosaic<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
3.694 Downloading shapely-2.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (7.0 kB)
3.724 Collecting supermorecado (from cogeo-mosaic<8.0,>=7.0->titiler.mosaic<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
3.745 Downloading supermorecado-0.1.2-py3-none-any.whl.metadata (8.2 kB)
3.787 Collecting starlette<0.39.0,>=0.37.2 (from fastapi>=0.107.0->titiler.core<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
3.808 Downloading starlette-0.38.2-py3-none-any.whl.metadata (5.9 kB)
3.873 Collecting MarkupSafe>=2.0 (from jinja2<4.0.0,>=2.11.2->titiler.core<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
3.893 Downloading MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.0 kB)
3.954 Collecting pyproj~=3.1 (from morecantile<6.0,>=5.0->titiler.core<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
3.976 Downloading pyproj-3.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (31 kB)
4.017 Collecting color-operations (from rio-tiler<7.0,>=6.3.0->titiler.core<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
4.036 Downloading color_operations-0.1.5-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.7 kB)
4.093 Collecting numexpr (from rio-tiler<7.0,>=6.3.0->titiler.core<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
4.113 Downloading numexpr-2.10.1.tar.gz (101 kB)
4.138 Installing build dependencies: started
8.476 Installing build dependencies: finished with status 'done'
8.477 Getting requirements to build wheel: started
8.666 Getting requirements to build wheel: finished with status 'done'
8.667 Preparing metadata (pyproject.toml): started
8.853 Preparing metadata (pyproject.toml): finished with status 'done'
8.899 Collecting pystac>=0.5.4 (from rio-tiler<7.0,>=6.3.0->titiler.core<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
8.923 Downloading pystac-1.10.1-py3-none-any.whl.metadata (6.4 kB)
8.961 Collecting affine (from rasterio->titiler.core<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
8.979 Downloading affine-2.4.0-py3-none-any.whl.metadata (4.0 kB)
9.016 Collecting certifi (from rasterio->titiler.core<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
9.036 Downloading certifi-2024.7.4-py3-none-any.whl.metadata (2.2 kB)
9.070 Collecting click>=4.0 (from rasterio->titiler.core<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
9.088 Downloading click-8.1.7-py3-none-any.whl.metadata (3.0 kB)
9.119 Collecting cligj>=0.5 (from rasterio->titiler.core<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
9.137 Downloading cligj-0.7.2-py3-none-any.whl.metadata (5.0 kB)
9.173 Collecting snuggs>=1.4.1 (from rasterio->titiler.core<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
9.191 Downloading snuggs-1.4.7-py3-none-any.whl.metadata (3.4 kB)
9.218 Collecting click-plugins (from rasterio->titiler.core<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
9.239 Downloading click_plugins-1.1.1-py2.py3-none-any.whl.metadata (6.4 kB)
9.385 Collecting setuptools (from rasterio->titiler.core<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
9.386 Using cached setuptools-72.2.0-py3-none-any.whl.metadata (6.6 kB)
9.434 Collecting python-dateutil>=2.7.0 (from pystac>=0.5.4->rio-tiler<7.0,>=6.3.0->titiler.core<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
9.452 Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)
9.499 Collecting pyparsing>=2.1.6 (from snuggs>=1.4.1->rasterio->titiler.core<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
9.526 Downloading pyparsing-3.1.2-py3-none-any.whl.metadata (5.1 kB)
9.560 Collecting anyio<5,>=3.4.0 (from starlette<0.39.0,>=0.37.2->fastapi>=0.107.0->titiler.core<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
9.579 Downloading anyio-4.4.0-py3-none-any.whl.metadata (4.6 kB)
9.619 Collecting httpcore==1.* (from httpx->cogeo-mosaic<8.0,>=7.0->titiler.mosaic<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
9.637 Downloading httpcore-1.0.5-py3-none-any.whl.metadata (20 kB)
9.671 Collecting idna (from httpx->cogeo-mosaic<8.0,>=7.0->titiler.mosaic<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
9.698 Downloading idna-3.7-py3-none-any.whl.metadata (9.9 kB)
9.728 Collecting sniffio (from httpx->cogeo-mosaic<8.0,>=7.0->titiler.mosaic<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
9.746 Downloading sniffio-1.3.1-py3-none-any.whl.metadata (3.9 kB)
9.783 Collecting h11<0.15,>=0.13 (from httpcore==1.*->httpx->cogeo-mosaic<8.0,>=7.0->titiler.mosaic<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
9.813 Downloading h11-0.14.0-py3-none-any.whl.metadata (8.2 kB)
9.866 Collecting six>=1.5 (from python-dateutil>=2.7.0->pystac>=0.5.4->rio-tiler<7.0,>=6.3.0->titiler.core<0.18,>=0.17.0->titiler.pgstac==1.2.2->-r requirements.txt (line 1))
9.893 Downloading six-1.16.0-py2.py3-none-any.whl.metadata (1.8 kB)
9.947 Downloading titiler.pgstac-1.2.2-py3-none-any.whl (36 kB)
9.975 Downloading mangum-0.14.1-py3-none-any.whl (17 kB)
10.000 Downloading psycopg_binary-3.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB)
10.31 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.2/4.2 MB 13.6 MB/s eta 0:00:00
10.33 Downloading geojson_pydantic-1.1.0-py3-none-any.whl (8.6 kB)
10.36 Downloading pydantic-2.8.2-py3-none-any.whl (423 kB)
10.41 Downloading pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB)
10.56 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 13.7 MB/s eta 0:00:00
10.58 Downloading pydantic_settings-2.4.0-py3-none-any.whl (23 kB)
10.64 Downloading titiler.core-0.17.3-py3-none-any.whl (32 kB)
10.70 Downloading titiler.mosaic-0.17.3-py3-none-any.whl (8.1 kB)
10.72 Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)
10.75 Downloading psycopg-3.2.1-py3-none-any.whl (197 kB)
10.79 Downloading psycopg_pool-3.2.2-py3-none-any.whl (38 kB)
10.82 Downloading annotated_types-0.7.0-py3-none-any.whl (13 kB)
10.85 Downloading cogeo_mosaic-7.1.0-py3-none-any.whl (39 kB)
10.87 Downloading fastapi-0.112.1-py3-none-any.whl (93 kB)
10.90 Downloading jinja2-3.1.4-py3-none-any.whl (133 kB)
10.94 Downloading morecantile-5.3.1-py3-none-any.whl (49 kB)
10.97 Downloading python_dotenv-1.0.1-py3-none-any.whl (19 kB)
10.99 Downloading rio_tiler-6.6.1-py3-none-any.whl (263 kB)
11.03 Downloading rasterio-1.3.10-cp311-cp311-manylinux2014_x86_64.whl (21.5 MB)
12.50 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 21.5/21.5 MB 14.7 MB/s eta 0:00:00
12.50 Using cached numpy-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.3 MB)
12.54 Downloading simplejson-3.19.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (144 kB)
12.58 Downloading click-8.1.7-py3-none-any.whl (97 kB)
12.62 Downloading cligj-0.7.2-py3-none-any.whl (7.1 kB)
12.64 Downloading MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (28 kB)
12.67 Downloading pyproj-3.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.6 MB)
13.27 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.6/8.6 MB 14.2 MB/s eta 0:00:00
13.29 Downloading pystac-1.10.1-py3-none-any.whl (182 kB)
13.33 Downloading shapely-2.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB)
13.52 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.5/2.5 MB 12.9 MB/s eta 0:00:00
13.54 Downloading snuggs-1.4.7-py3-none-any.whl (5.4 kB)
13.57 Downloading starlette-0.38.2-py3-none-any.whl (72 kB)
13.60 Downloading affine-2.4.0-py3-none-any.whl (15 kB)
13.63 Downloading attrs-24.2.0-py3-none-any.whl (63 kB)
13.65 Downloading cachetools-5.5.0-py3-none-any.whl (9.5 kB)
13.68 Downloading certifi-2024.7.4-py3-none-any.whl (162 kB)
13.72 Downloading click_plugins-1.1.1-py2.py3-none-any.whl (7.5 kB)
13.74 Downloading color_operations-0.1.5-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (194 kB)
13.79 Downloading httpx-0.27.0-py3-none-any.whl (75 kB)
13.82 Downloading httpcore-1.0.5-py3-none-any.whl (77 kB)
13.83 Using cached setuptools-72.2.0-py3-none-any.whl (2.3 MB)
13.85 Downloading supermorecado-0.1.2-py3-none-any.whl (14 kB)
13.88 Downloading anyio-4.4.0-py3-none-any.whl (86 kB)
13.91 Downloading idna-3.7-py3-none-any.whl (66 kB)
13.94 Downloading pyparsing-3.1.2-py3-none-any.whl (103 kB)
13.96 Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
14.01 Downloading sniffio-1.3.1-py3-none-any.whl (10 kB)
14.03 Downloading h11-0.14.0-py3-none-any.whl (58 kB)
14.06 Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
14.16 Building wheels for collected packages: numexpr
14.17 Building wheel for numexpr (pyproject.toml): started
14.52 Building wheel for numexpr (pyproject.toml): finished with status 'error'
14.53 error: subprocess-exited-with-error
14.53
14.53 × Building wheel for numexpr (pyproject.toml) did not run successfully.
14.53 │ exit code: 1
14.53 ╰─> [136 lines of output]
14.53 /tmp/pip-build-env-gz5ktou9/overlay/lib/python3.11/site-packages/setuptools/config/_apply_pyprojecttoml.py:79: SetuptoolsWarning: `install_requires` overwritten in `pyproject.toml` (dependencies)
14.53 corresp(dist, value, root_dir)
14.53 running bdist_wheel
14.53 running build
14.53 running build_py
14.53 creating build
14.53 creating build/lib.linux-x86_64-cpython-311
14.53 creating build/lib.linux-x86_64-cpython-311/numexpr
14.53 copying numexpr/__init__.py -> build/lib.linux-x86_64-cpython-311/numexpr
14.53 copying numexpr/cpuinfo.py -> build/lib.linux-x86_64-cpython-311/numexpr
14.53 copying numexpr/version.py -> build/lib.linux-x86_64-cpython-311/numexpr
14.53 copying numexpr/expressions.py -> build/lib.linux-x86_64-cpython-311/numexpr
14.53 copying numexpr/utils.py -> build/lib.linux-x86_64-cpython-311/numexpr
14.53 copying numexpr/necompiler.py -> build/lib.linux-x86_64-cpython-311/numexpr
14.53 running egg_info
14.53 writing numexpr.egg-info/PKG-INFO
14.53 writing dependency_links to numexpr.egg-info/dependency_links.txt
14.53 writing requirements to numexpr.egg-info/requires.txt
14.53 writing top-level names to numexpr.egg-info/top_level.txt
14.53 reading manifest file 'numexpr.egg-info/SOURCES.txt'
14.53 reading manifest template 'MANIFEST.in'
14.53 warning: no previously-included files found matching 'numexpr/__config__.py'
14.53 warning: no previously-included files found matching 'RELEASING.txt'
14.53 warning: no previously-included files found matching 'site.cfg'
14.53 adding license file 'LICENSE.txt'
14.53 adding license file 'AUTHORS.txt'
14.53 writing manifest file 'numexpr.egg-info/SOURCES.txt'
14.53 /tmp/pip-build-env-gz5ktou9/overlay/lib/python3.11/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'numexpr.tests' is absent from the `packages` configuration.
14.53 !!
14.53
14.53 ********************************************************************************
14.53 ############################
14.53 # Package would be ignored #
14.53 ############################
14.53 Python recognizes 'numexpr.tests' as an importable package[^1],
14.53 but it is absent from setuptools' `packages` configuration.
14.53
14.53 This leads to an ambiguous overall configuration. If you want to distribute this
14.53 package, please make sure that 'numexpr.tests' is explicitly added
14.53 to the `packages` configuration field.
14.53
14.53 Alternatively, you can also rely on setuptools' discovery methods
14.53 (for example by using `find_namespace_packages(...)`/`find_namespace:`
14.53 instead of `find_packages(...)`/`find:`).
14.53
14.53 You can read more about "package discovery" on setuptools documentation page:
14.53
14.53 - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
14.53
14.53 If you don't want 'numexpr.tests' to be distributed and are
14.53 already explicitly excluding 'numexpr.tests' via
14.53 `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
14.53 you can try to use `exclude_package_data`, or `include-package-data=False` in
14.53 combination with a more fine grained `package-data` configuration.
14.53
14.53 You can read more about "package data files" on setuptools documentation page:
14.53
14.53 - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
14.53
14.53
14.53 [^1]: For Python, any directory (with suitable naming) can be imported,
14.53 even if it does not contain any `.py` files.
14.53 On the other hand, currently there is no concept of package data
14.53 directory, all directories are treated like packages.
14.53 ********************************************************************************
14.53
14.53 !!
14.53 check.warn(importable)
14.53 /tmp/pip-build-env-gz5ktou9/overlay/lib/python3.11/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'numexpr.win32' is absent from the `packages` configuration.
14.53 !!
14.53
14.53 ********************************************************************************
14.53 ############################
14.53 # Package would be ignored #
14.53 ############################
14.53 Python recognizes 'numexpr.win32' as an importable package[^1],
14.53 but it is absent from setuptools' `packages` configuration.
14.53
14.53 This leads to an ambiguous overall configuration. If you want to distribute this
14.53 package, please make sure that 'numexpr.win32' is explicitly added
14.53 to the `packages` configuration field.
14.53
14.53 Alternatively, you can also rely on setuptools' discovery methods
14.53 (for example by using `find_namespace_packages(...)`/`find_namespace:`
14.53 instead of `find_packages(...)`/`find:`).
14.53
14.53 You can read more about "package discovery" on setuptools documentation page:
14.53
14.53 - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
14.53
14.53 If you don't want 'numexpr.win32' to be distributed and are
14.53 already explicitly excluding 'numexpr.win32' via
14.53 `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
14.53 you can try to use `exclude_package_data`, or `include-package-data=False` in
14.53 combination with a more fine grained `package-data` configuration.
14.53
14.53 You can read more about "package data files" on setuptools documentation page:
14.53
14.53 - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
14.53
14.53
14.53 [^1]: For Python, any directory (with suitable naming) can be imported,
14.53 even if it does not contain any `.py` files.
14.53 On the other hand, currently there is no concept of package data
14.53 directory, all directories are treated like packages.
14.53 ********************************************************************************
14.53
14.53 !!
14.53 check.warn(importable)
14.53 copying numexpr/complex_functions.hpp -> build/lib.linux-x86_64-cpython-311/numexpr
14.53 copying numexpr/functions.hpp -> build/lib.linux-x86_64-cpython-311/numexpr
14.53 copying numexpr/interp_body.cpp -> build/lib.linux-x86_64-cpython-311/numexpr
14.53 copying numexpr/interpreter.cpp -> build/lib.linux-x86_64-cpython-311/numexpr
14.53 copying numexpr/interpreter.hpp -> build/lib.linux-x86_64-cpython-311/numexpr
14.53 copying numexpr/missing_posix_functions.hpp -> build/lib.linux-x86_64-cpython-311/numexpr
14.53 copying numexpr/module.cpp -> build/lib.linux-x86_64-cpython-311/numexpr
14.53 copying numexpr/module.hpp -> build/lib.linux-x86_64-cpython-311/numexpr
14.53 copying numexpr/msvc_function_stubs.hpp -> build/lib.linux-x86_64-cpython-311/numexpr
14.53 copying numexpr/numexpr_config.hpp -> build/lib.linux-x86_64-cpython-311/numexpr
14.53 copying numexpr/numexpr_object.cpp -> build/lib.linux-x86_64-cpython-311/numexpr
14.53 copying numexpr/numexpr_object.hpp -> build/lib.linux-x86_64-cpython-311/numexpr
14.53 copying numexpr/opcodes.hpp -> build/lib.linux-x86_64-cpython-311/numexpr
14.53 copying numexpr/str-two-way.hpp -> build/lib.linux-x86_64-cpython-311/numexpr
14.53 creating build/lib.linux-x86_64-cpython-311/numexpr/tests
14.53 copying numexpr/tests/__init__.py -> build/lib.linux-x86_64-cpython-311/numexpr/tests
14.53 copying numexpr/tests/test_numexpr.py -> build/lib.linux-x86_64-cpython-311/numexpr/tests
14.53 creating build/lib.linux-x86_64-cpython-311/numexpr/win32
14.53 copying numexpr/win32/pthread.c -> build/lib.linux-x86_64-cpython-311/numexpr/win32
14.53 copying numexpr/win32/pthread.h -> build/lib.linux-x86_64-cpython-311/numexpr/win32
14.53 copying numexpr/win32/stdint.h -> build/lib.linux-x86_64-cpython-311/numexpr/win32
14.53 running build_ext
14.53 building 'numexpr.interpreter' extension
14.53 creating build/temp.linux-x86_64-cpython-311
14.53 creating build/temp.linux-x86_64-cpython-311/numexpr
14.53 g++ -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DNPY_TARGET_VERSION=NPY_1_23_API_VERSION -I/tmp/pip-build-env-gz5ktou9/overlay/lib/python3.11/site-packages/numpy/_core/include -I/var/lang/include/python3.11 -c numexpr/interpreter.cpp -o build/temp.linux-x86_64-cpython-311/numexpr/interpreter.o
14.53 error: command 'g++' failed: No such file or directory
14.53 [end of output]
14.53
14.53 note: This error originates from a subprocess, and is likely not a problem with pip.
14.53 ERROR: Failed building wheel for numexpr
14.53 Failed to build numexpr
14.54 ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (numexpr)
------
2 warnings found (use docker --debug to expand):
- InvalidDefaultArgInFrom: Default value for ARG public.ecr.aws/lambda/python:${PYTHON_VERSION} results in empty or invalid base image name (line 2)
- FromPlatformFlagConstDisallowed: FROM --platform flag should not use constant value "linux/amd64" (line 2)
Dockerfile:8
--------------------
6 |
7 | COPY runtime/requirements.txt requirements.txt
8 | >>> RUN python -m pip install -r requirements.txt "mangum>=0.14,<0.15" -t /asset
9 |
10 | # Reduce package size and remove useless files
--------------------
ERROR: failed to solve: process "/bin/sh -c python -m pip install -r requirements.txt \"mangum>=0.14,<0.15\" -t /asset" did not complete successfully: exit code: 1
|
Suggested a straightforward, minimal fix in #108 and will leave it to you all to determine if this is appropriate. |
FYI this is related to pydata/numexpr#493 developmentseed/titiler#946 |
I tested two solutions:
Since the CDK is only uploading the It's fine with me if we want to just follow @vincentsarago's approach and pin |
🙏 thanks @hrodmn, I think it's a much better solution to add |
Using the
TitilerPgstacApiLambda
construct via the Python package.AWS CDK attempts to build the Default image (https://github.com/developmentseed/eoapi-cdk/blob/7536c551d0f2098f2ef205cd698c740e24cd294d/lib/titiler-pgstac-api/runtime/Dockerfile)
and fails during compilation of
numexpr
with:Notably, other images (e.g. https://github.com/developmentseed/eoapi-cdk/blob/7536c551d0f2098f2ef205cd698c740e24cd294d/lib/tipg-api/runtime/Dockerfile) use:
whereas titiler-pgstac uses:
I reproduced the build failure on versions
6.0.2
,7.0.0
and7.2.0
Could probably also be solved via #87, given that the CDK is attempting to build the default image even though it is overridden.
Thanks for any help you might be able to offer here!
The text was updated successfully, but these errors were encountered: