Skip to content

Docker Builds from python:3.9-slim failing due to broken setuptools>=58 support for use_2to3 #691

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

Closed
patrickRobotics opened this issue Feb 1, 2022 · 1 comment

Comments

@patrickRobotics
Copy link

This is the output from docker build

Sending build context to Docker daemon  236.3MB
Step 1/15 : FROM python:3.9-slim
3.9-slim: Pulling from library/python

b503b376: Pulling fs layer 
ac0246d0: Pulling fs layer 
610c2a17: Pulling fs layer 
e6a8a46f: Pulling fs layer 
Digest: sha256:86b3b6af2b6254fe44de9f5c8e6e08248cdef19f3060ee5cf131ef629c375830
Status: Downloaded newer image for python:3.9-slim
 ---> 82941c7e2473
Step 2/15 : ENV PYTHONUNBUFFERED 1
 ---> Running in 1991bb62cf2d
Removing intermediate container 1991bb62cf2d
 ---> f4b69b2edf92
Step 3/15 : RUN mkdir /code
 ---> Running in 63dd3f2fdf15
Removing intermediate container 63dd3f2fdf15
 ---> 10ba58bce505
Step 4/15 : WORKDIR /code
 ---> Running in c3a58c516e93
Removing intermediate container c3a58c516e93
 ---> 3b913b8a2f3e
Step 5/15 : COPY application/requirements.txt /code/
 ---> ae9fba4fa10f
Step 6/15 : RUN pip install -r requirements.txt
 ---> Running in bedf7a63fd76
Collecting amqp==1.4.9
  Downloading amqp-1.4.9-py2.py3-none-any.whl (51 kB)
Collecting anyjson==0.3.3
  Downloading anyjson-0.3.3.tar.gz (8.3 kB)
    ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ujd46kih/anyjson_bc3d3821b1ec4912838fd80f04ec3dd3/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ujd46kih/anyjson_bc3d3821b1ec4912838fd80f04ec3dd3/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-y6ptic74
         cwd: /tmp/pip-install-ujd46kih/anyjson_bc3d3821b1ec4912838fd80f04ec3dd3/
    Complete output (1 lines):
    error in anyjson setup command: use_2to3 is invalid.
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/c3/4d/d4089e1a3dd25b46bebdb55a992b0797cff657b4477bc32ce28038fdecbc/anyjson-0.3.3.tar.gz#sha256=37812d863c9ad3e35c0734c42e0bf0320ce8c3bed82cd20ad54cb34d158157ba (from https://pypi.org/simple/anyjson/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
ERROR: Could not find a version that satisfies the requirement anyjson==0.3.3 (from versions: 0.1, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.2.5, 0.3, 0.3.1, 0.3.2, 0.3.3)
ERROR: No matching distribution found for anyjson==0.3.3
WARNING: You are using pip version 21.2.4; however, version 22.0.2 is available.
You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
The command '/bin/sh -c pip install -r requirements.txt' returned a non-zero code: 1

Exited with code exit status 1

setuptools>=58 breaks support for use_2to3: https://setuptools.pypa.io/en/latest/history.html#v58-0-0
which seems to have been added in the latest changes on 3.9 87fb418

@yosifkit
Copy link
Member

yosifkit commented Feb 1, 2022

The setuptools now correctly follows whatever version is bundled with python (#686). It looks like it was an intentional breaking change in setuptools: https://stackoverflow.com/a/69100830 and https://setuptools.pypa.io/en/latest/history.html#v58-0-0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants