This fails in a fresh Docker python:3.12-bookworm container (with similar errors in 3.11-bookworm):
$ docker run -it --rm python:3.12-bookworm pip3 install cottoncandy
[...]
Building wheels for collected packages: pycrypto, PyDrive
Building wheel for pycrypto (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for pycrypto (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [71 lines of output]
[...]
config.status: creating src/config.h
In file included from /usr/local/include/python3.12/Python.h:87,
from src/_fastmath.c:31:
/usr/local/include/python3.12/cpython/pytime.h:216:60: warning: ‘struct timespec’ declared inside parameter list will not be visible outside of this definition or declaration
216 | PyAPI_FUNC(int) _PyTime_FromTimespec(_PyTime_t *tp, struct timespec *ts);
| ^~~~~~~~
/usr/local/include/python3.12/cpython/pytime.h:221:56: warning: ‘struct timespec’ declared inside parameter list will not be visible outside of this definition or declaration
221 | PyAPI_FUNC(int) _PyTime_AsTimespec(_PyTime_t t, struct timespec *ts);
| ^~~~~~~~
/usr/local/include/python3.12/cpython/pytime.h:225:63: warning: ‘struct timespec’ declared inside parameter list will not be visible outside of this definition or declaration
225 | PyAPI_FUNC(void) _PyTime_AsTimespec_clamp(_PyTime_t t, struct timespec *ts);
| ^~~~~~~~
src/_fastmath.c:33:10: fatal error: longintrepr.h: No such file or directory
33 | #include <longintrepr.h> /* for conversions */
| ^~~~~~~~~~~~~~~
compilation terminated.
error: command '/usr/bin/gcc' failed with exit code 1
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pycrypto
[...]
PyCrypto's homepage says the package has been unmaintained since 2013 and recommends PyCryptodome as a mostly drop-in replacement.
This fails in a fresh Docker
python:3.12-bookworm
container (with similar errors in3.11-bookworm
):PyCrypto's homepage says the package has been unmaintained since 2013 and recommends PyCryptodome as a mostly drop-in replacement.