Make Django image use Python 3.10
- Dominant language
- Shell
- Stars
- 12.6k
- Forks
- 2.9k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 62
Description
Django 5.0 will require Python 3.10 or newer. The current Python base image seems to only have Python 3.8 available.
```
Starting Step #3 - "compile-libfuzzer-address-x86_64"
Step #3 - "compile-libfuzzer-address-x86_64": Already have image (with digest): gcr.io/cloud-builders/docker
Step #3 - "compile-libfuzzer-address-x86_64": ---------------------------------------------------------------
Step #3 - "compile-libfuzzer-address-x86_64": Compiling libFuzzer to /usr/lib/libFuzzingEngine.a... done.
Step #3 - "compile-libfuzzer-address-x86_64": ---------------------------------------------------------------
Step #3 - "compile-libfuzzer-address-x86_64": CC=clang
Step #3 - "compile-libfuzzer-address-x86_64": CXX=clang++
Step #3 - "compile-libfuzzer-address-x86_64": CFLAGS=-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link -fno-sanitize=function,leak,vptr,
Step #3 - "compile-libfuzzer-address-x86_64": CXXFLAGS=-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link -stdlib=libc++ -fno-sanitize=function,leak,vptr
Step #3 - "compile-libfuzzer-address-x86_64": RUSTFLAGS=--cfg fuzzing -Zsanitizer=address -Cdebuginfo=1 -Cforce-frame-pointers
Step #3 - "compile-libfuzzer-address-x86_64": ---------------------------------------------------------------
Step #3 - "compile-libfuzzer-address-x86_64": + pip3 install .
Step #3 - "compile-libfuzzer-address-x86_64": Processing /src/django
Step #3 - "compile-libfuzzer-address-x86_64": Installing build dependencies ... done
Step #3 - "compile-libfuzzer-address-x86_64": Getting requirements to build wheel ... done
Step #3 - "compile-libfuzzer-address-x86_64": Installing backend dependencies ... done
Step #3 - "compile-libfuzzer-address-x86_64": Preparing wheel metadata ... done
Step #3 - "compile-libfuzzer-address-x86_64": ERROR: Package 'Django-5.0.dev20230207193000' requires a different Python: 3.8.3 not in '>=3.10'
Step #3 - "compile-libfuzzer-address-x86_64": WARNING: You are using pip version 19.2.3, however version 23.0 is available.
Step #3 - "compile-libfuzzer-address-x86_64": You should consider upgrading via the 'pip install --upgrade pip' command.
Step #3 - "compile-libfuzzer-address-x86_64": ********************************************************************************
Step #3 - "compile-libfuzzer-address-x86_64": Failed to build.
Step #3 - "compile-libfuzzer-address-x86_64": To reproduce, run:
Step #3 - "compile-libfuzzer-address-x86_64": python infra/helper.py build_image django
Step #3 - "compile-libfuzzer-address-x86_64": python infra/helper.py build_fuzzers --sanitizer address --engine libfuzzer --architecture x86_64 django
Step #3 - "compile-libfuzzer-address-x86_64": ********************************************************************************
Finished Step #3 - "compile-libfuzzer-address-x86_64"
ERROR
ERROR: build step 3 "gcr.io/cloud-builders/docker" failed: step exited with non-zero status: 1
```
Contributor guide
Research direction
Start with the Django image build path used by infra/helper.py build_image django and reproduce the failure with the two commands in the issue. Inspect which Python base image is selected for that image and verify the fuzzing build completes with Python 3.10 or newer.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- django, docker, python
- Domain
- build-system, devops
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100