Skip to content

Commit d0a5747

Browse files
committed
move dependency restrictions back to upper level command
1 parent 57f2fbd commit d0a5747

File tree

2 files changed

+13
-15
lines changed

2 files changed

+13
-15
lines changed

Dockerfile

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,19 @@ ADD aws-opentelemetry-distro/ ./aws-opentelemetry-distro/
1818
# * https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/azure-functions/recover-python-functions.md#troubleshoot-cannot-import-cygrpc
1919
RUN sed -i "/opentelemetry-exporter-otlp-proto-grpc/d" ./aws-opentelemetry-distro/pyproject.toml
2020

21-
RUN mkdir workspace && pip install --target workspace ./aws-opentelemetry-distro
21+
# urllib3 recently made a release that drops support for Python 3.8
22+
# Our sdk depends on botocore which pulls in the version of urllib3 based Python runtime it detects.
23+
# The rule is that if current pip command version is > 3.9 botocore will pick up the latest urllib3,
24+
# otherwise it picks up the older urllib3 that is compatible with Python 3.8.
25+
# https://github.com/boto/botocore/blob/develop/requirements-docs.txt
26+
# Since this Dockerfile currently uses the fixed Python 3.11 base image to pull the required dependencies,
27+
# EKS and ECS applications will encounter a runtime error for Python 3.8 compatibility.
28+
# Our fix is to temporarily restrict the urllib3 version to one that works for all supported Python versions
29+
# that we currently commit to support (notably 3.8).
30+
# We also pin the setuptools version for similar issues with the library dropping 3.8 support.
31+
# https://github.com/pypa/setuptools/blame/main/pkg_resources/__init__.py#L24
32+
# TODO: Remove these temporary workarounds once we deprecate Python 3.8 support since it has reached end-of-life.
33+
RUN mkdir workspace && pip install setuptools==75.2.0 urllib3==2.2.3 --target workspace ./aws-opentelemetry-distro
2234

2335
# Stage 2: Build the cp-utility binary
2436
FROM public.ecr.aws/docker/library/rust:1.81 as builder

aws-opentelemetry-distro/pyproject.toml

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -80,20 +80,6 @@ dependencies = [
8080
"opentelemetry-instrumentation-urllib3 == 0.48b0",
8181
"opentelemetry-instrumentation-wsgi == 0.48b0",
8282
"opentelemetry-instrumentation-cassandra == 0.48b0",
83-
# urllib3 recently made a release that drops support for Python 3.8
84-
# Our sdk depends on botocore which pulls in the version of urllib3 based Python runtime it detects.
85-
# The rule is that if current pip command version is > 3.9 botocore will pick up the latest urllib3,
86-
# otherwise it picks up the older urllib3 that is compatible with Python 3.8.
87-
# https://github.com/boto/botocore/blob/develop/requirements-docs.txt
88-
# Since this Dockerfile currently uses the fixed Python 3.11 base image to pull the required dependencies,
89-
# EKS and ECS applications will encounter a runtime error for Python 3.8 compatibility.
90-
# Our fix is to temporarily restrict the urllib3 version to one that works for all supported Python versions
91-
# that we currently commit to support (notably 3.8).
92-
# We also pin the setuptools version for similar issues with the library dropping 3.8 support.
93-
# https://github.com/pypa/setuptools/blame/main/pkg_resources/__init__.py#L24
94-
# TODO: Remove these temporary workarounds once we deprecate Python 3.8 support since it has reached end-of-life.
95-
"urllib3 == 2.2.3",
96-
"setuptools == 75.2.0",
9783
]
9884

9985
[project.optional-dependencies]

0 commit comments

Comments
 (0)