From bef815907e3d461c56ca41491d8a5a58020423e2 Mon Sep 17 00:00:00 2001 From: BJ Dierkes Date: Sat, 18 Dec 2021 10:55:51 -0600 Subject: [PATCH] Python 3.10 Support - Resolves Issue #616 --- .travis.yml | 3 +++ cement/utils/misc.py | 2 +- docker-compose.yml | 12 ++++++++---- docker/Dockerfile.dev | 2 +- docker/Dockerfile.dev-py310 | 25 +++++++++++++++++++++++++ 5 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 docker/Dockerfile.dev-py310 diff --git a/.travis.yml b/.travis.yml index 4b08e915..137113f5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,6 +17,9 @@ matrix: - python: 3.9 dist: xenial sudo: true + - python: 3.10 + dist: focal + sudo: true services: - memcached - redis-server diff --git a/cement/utils/misc.py b/cement/utils/misc.py index 273fa8c6..6b27e287 100644 --- a/cement/utils/misc.py +++ b/cement/utils/misc.py @@ -50,7 +50,7 @@ class MinimalLogger(object): self.backend.setLevel(logging.INFO) # FIX ME: really don't want to hard check sys.argv like this but - # can't figure any better way get logging started (only for debug) + # can't figure any better way to get logging started (only for debug) # before the app logging is setup. if '--debug' in sys.argv or debug: console.setLevel(logging.DEBUG) diff --git a/docker-compose.yml b/docker-compose.yml index 225ea7b6..e34d9f5c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -24,34 +24,38 @@ services: build: context: . dockerfile: docker/Dockerfile.dev-py35 + profiles: + - donotstart cement-py36: + <<: *DEFAULTS image: "cement:dev-py36" build: context: . dockerfile: docker/Dockerfile.dev-py36 - <<: *DEFAULTS + profiles: + - donotstart cement-py37: + <<: *DEFAULTS image: "cement:dev-py37" build: context: . dockerfile: docker/Dockerfile.dev-py37 - <<: *DEFAULTS cement-py38: + <<: *DEFAULTS image: "cement:dev-py38" build: context: . dockerfile: docker/Dockerfile.dev-py38 - <<: *DEFAULTS cement-py39: + <<: *DEFAULTS image: "cement:dev-py39" build: context: . dockerfile: docker/Dockerfile.dev-py39 - <<: *DEFAULTS redis: image: redis:latest diff --git a/docker/Dockerfile.dev b/docker/Dockerfile.dev index a14f94f3..caf2e932 100644 --- a/docker/Dockerfile.dev +++ b/docker/Dockerfile.dev @@ -1,4 +1,4 @@ -FROM python:3.9-alpine +FROM python:3.10-alpine LABEL MAINTAINER="BJ Dierkes " ENV PS1="\[\e[0;33m\]|> cement <| \[\e[1;35m\]\W\[\e[0m\] \[\e[0m\]# " diff --git a/docker/Dockerfile.dev-py310 b/docker/Dockerfile.dev-py310 new file mode 100644 index 00000000..34438fbf --- /dev/null +++ b/docker/Dockerfile.dev-py310 @@ -0,0 +1,25 @@ +FROM python:3.10-alpine +LABEL MAINTAINER="BJ Dierkes " +ENV PS1="\[\e[0;33m\]|> cement-py310 <| \[\e[1;35m\]\W\[\e[0m\] \[\e[0m\]# " + +WORKDIR /src +COPY requirements-dev.txt /src/ +RUN apk update \ + && apk add libmemcached-dev \ + gcc \ + musl-dev \ + cyrus-sasl-dev \ + zlib-dev \ + make \ + vim \ + bash \ + git \ + libffi \ + libffi-dev \ + openssl-dev \ + && ln -sf /usr/bin/vim /usr/bin/vi \ + && pip install --no-cache-dir -r requirements-dev.txt +COPY . /src +COPY docker/vimrc /root/.vimrc +RUN python setup.py develop +CMD ["/bin/bash"]