Skip to content
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

Poetry failed to build installing jsbeautifier #9585

Closed
Hannes0730 opened this issue Jul 29, 2024 · 18 comments
Closed

Poetry failed to build installing jsbeautifier #9585

Hannes0730 opened this issue Jul 29, 2024 · 18 comments
Labels
kind/bug Something isn't working as expected status/external-issue Issue is caused by external project (platform, dep, etc)

Comments

@Hannes0730
Copy link

Hannes0730 commented Jul 29, 2024

Description

Poetry: 1.8.2 , 1.8.3
Device: WSL (Ubuntu 22.04.4 LTS)
Python Version: ^3.12

I build my project using docker docker compose up -d --build. Then, it showed this error (without modifying the pyproject.toml and Dockerfile):

Note: This error originates from the build backend, and is likely not a problem with poetry but with jsbeautifier (1.15.1) not supporting PEP 517 builds. You can verify this by running 'pip wheel --no-cache-dir --use-pep517 "jsbeautifier (==1.15.1)"

Dockerfile config

FROM python:3.12.2-slim as python
ENV PYTHONUNBUFFERED=true
WORKDIR /app

FROM python as poetry
ENV POETRY_HOME=/opt/poetry
ENV POETRY_VIRTUALENVS_IN_PROJECT=true
ENV PATH="$POETRY_HOME/bin:$PATH"
RUN python -c 'from urllib.request import urlopen; print(urlopen("https://install.python-poetry.org").read().decode())' | python -
COPY . ./

RUN poetry install --no-interaction --without dev --no-ansi -vvv

FROM python as runtime
ENV PATH="/app/.venv/bin:$PATH"
COPY --from=poetry /app /app

EXPOSE 8000

COPY entrypoint.sh /app/entrypoint.sh
RUN chmod +x /app/entrypoint.sh

# Debugging step to list contents of /app after copying entrypoint.sh
RUN ls -al /app

#CMD ["./entrypoint.sh"]
CMD ["litestar", "run", "--host", "0.0.0.0", "--port", "8000"]

For more context, the jsbeautifier is a dependency from a library of Litestar.

Things I have tried:

  • Updating and downgrading Litestar
  • Updating poetry to 1.8.3
  • Adding jsbeautifier directly using poetry
  • Reinstalling project container in docker
  • Installing and updating pip and setuptools

Workarounds

N/A

Poetry Installation Method

pipx

Operating System

Ubuntu 22.04.4 LTS

Poetry Version

1.8.2, 1.8.3

Poetry Configuration

cache-dir = "/home/edward/.cache/pypoetry"
experimental.system-git-client = false
installer.max-workers = null
installer.modern-installation = true
installer.no-binary = null
installer.parallel = true
keyring.enabled = true
solver.lazy-wheel = true
virtualenvs.create = true
virtualenvs.in-project = true
virtualenvs.options.always-copy = false
virtualenvs.options.no-pip = false
virtualenvs.options.no-setuptools = false
virtualenvs.options.system-site-packages = false
virtualenvs.path = "{cache-dir}/virtualenvs"  # /home/edward/.cache/pypoetry/virtualenvs
virtualenvs.prefer-active-python = false
virtualenvs.prompt = "{project_name}-py{python_version}"
warnings.export = true

Python Sysconfig

Platform: "linux-x86_64"
Python version: "3.12"
Current installation scheme: "venv"

Paths:
        data = "/home/edward/projects/auth_api_system/.venv"
        include = "/home/edward/.pyenv/versions/3.12.2/include/python3.12"
        platinclude = "/home/edward/.pyenv/versions/3.12.2/include/python3.12"
        platlib = "/home/edward/projects/auth_api_system/.venv/lib/python3.12/site-packages"
        platstdlib = "/home/edward/projects/auth_api_system/.venv/lib/python3.12"
        purelib = "/home/edward/projects/auth_api_system/.venv/lib/python3.12/site-packages"
        scripts = "/home/edward/projects/auth_api_system/.venv/bin"
        stdlib = "/home/edward/.pyenv/versions/3.12.2/lib/python3.12"

Variables:
        ABIFLAGS = ""
        AC_APPLE_UNIVERSAL_BUILD = "0"
        AIX_BUILDDATE = "0"
        AIX_GENUINE_CPLUSPLUS = "0"
        ALIGNOF_LONG = "8"
        ALIGNOF_MAX_ALIGN_T = "16"
        ALIGNOF_SIZE_T = "8"
        ALT_SOABI = "0"
        ANDROID_API_LEVEL = "0"
        AR = "ar"
        ARFLAGS = "rcs"
        BASECFLAGS = "-fno-strict-overflow -Wsign-compare"
        BASECPPFLAGS = ""
        BASEMODLIBS = ""
        BINDIR = "/home/edward/.pyenv/versions/3.12.2/bin"
        BINLIBDEST = "/home/edward/.pyenv/versions/3.12.2/lib/python3.12"
        BLDLIBRARY = "-L. -lpython3.12"
        BLDSHARED = "gcc -shared -L/home/edward/.pyenv/versions/3.12.2/lib -Wl,-rpath,/home/edward/.pyenv/versions/3.12.2/lib -L/home/edward/.pyenv/versions/3.12.2/lib -Wl,-rpath,/home/edward/.pyenv/versions/3.12.2/lib"
        BOOTSTRAP_HEADERS = "\"
        BUILDEXE = ""
        BUILDPYTHON = "python"
        BUILD_GNU_TYPE = "x86_64-pc-linux-gnu"
        BUILD_SCRIPTS_DIR = "build/scripts-3.12"
        BYTESTR_DEPS = "\"
        CC = "gcc"
        CCSHARED = "-fPIC"
        CFLAGS = "-fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall"
        CFLAGSFORSHARED = "-fPIC"
        CFLAGS_ALIASING = ""
        CFLAGS_NODIST = ""
        CODECS_COMMON_HEADERS = "./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h"
        COMPILEALL_OPTS = "-j0"
        CONFIGFILES = "configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in"
        CONFIGURE_CFLAGS = ""
        CONFIGURE_CFLAGS_NODIST = "-std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden"
        CONFIGURE_CPPFLAGS = "-I/home/edward/.pyenv/versions/3.12.2/include"
        CONFIGURE_LDFLAGS = "-L/home/edward/.pyenv/versions/3.12.2/lib -Wl,-rpath,/home/edward/.pyenv/versions/3.12.2/lib"
        CONFIGURE_LDFLAGS_NODIST = ""
        CONFIGURE_LDFLAGS_NOLTO = ""
        CONFIG_ARGS = "'--prefix=/home/edward/.pyenv/versions/3.12.2' '--enable-shared' '--libdir=/home/edward/.pyenv/versions/3.12.2/lib' 'LDFLAGS=-L/home/edward/
.pyenv/versions/3.12.2/lib -Wl,-rpath,/home/edward/.pyenv/versions/3.12.2/lib' 'LIBS=-L/home/edward/.pyenv/versions/3.12.2/lib -Wl,-rpath,/home/edward/.pyenv/versions/3.12.2/lib' 'CPPFLAGS=-I/home/edward/.pyenv/versions/3.12.2/include'"
        CONFINCLUDEDIR = "/home/edward/.pyenv/versions/3.12.2/include"
        CONFINCLUDEPY = "/home/edward/.pyenv/versions/3.12.2/include/python3.12"
        COREPYTHONPATH = ""
        COVERAGE_INFO = "/tmp/python-build.20240418160013.6995/Python-3.12.2/coverage.info"
        COVERAGE_LCOV_OPTIONS = "--rc lcov_branch_coverage=1"
        COVERAGE_REPORT = "/tmp/python-build.20240418160013.6995/Python-3.12.2/lcov-report"
        COVERAGE_REPORT_OPTIONS = "--rc lcov_branch_coverage=1 --branch-coverage --title "CPython 3.12 LCOV report [commit $(shell )]""
        CPPFLAGS = "-I. -I./Include -I/home/edward/.pyenv/versions/3.12.2/include -I/home/edward/.pyenv/versions/3.12.2/include"
        CXX = "g++"
        DEEPFREEZE_C = "Python/deepfreeze/deepfreeze.c"
        DEEPFREEZE_DEPS = "./Tools/build/deepfreeze.py _bootstrap_python ./Programs/_freeze_module.py \"
        DEEPFREEZE_OBJS = "Python/deepfreeze/deepfreeze.o"
        DESTDIRS = "/home/edward/.pyenv/versions/3.12.2 /home/edward/.pyenv/versions/3.12.2/lib /home/edward/.pyenv/versions/3.12.2/lib/python3.12 /home/edward/.pyenv/versions/3.12.2/lib/python3.12/lib-dynload"
        DESTLIB = "/home/edward/.pyenv/versions/3.12.2/lib/python3.12"
        DESTPATH = ""
        DESTSHARED = "/home/edward/.pyenv/versions/3.12.2/lib/python3.12/lib-dynload"
        DFLAGS = ""
        DIRMODE = "755"
        DIST = "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in Include Lib Misc Ext-dummy"
        DISTDIRS = "Include Lib Misc Ext-dummy"
        DISTFILES = "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in"
        DLINCLDIR = "."
        DLLLIBRARY = ""
        DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754 = "0"
        DOUBLE_IS_BIG_ENDIAN_IEEE754 = "0"
        DOUBLE_IS_LITTLE_ENDIAN_IEEE754 = "1"
        DSYMUTIL = ""
        DSYMUTIL_PATH = ""
        DTRACE = ""
        DTRACE_DEPS = "\"
        DTRACE_HEADERS = ""
        DTRACE_OBJS = ""
        DYNLOADFILE = "dynload_shlib.o"
        ENABLE_IPV6 = "1"
        ENSUREPIP = "upgrade"
        EXE = ""
        EXEMODE = "755"
        EXENAME = "/home/edward/.pyenv/versions/3.12.2/bin/python3.12"
        EXPORTSFROM = ""
        EXPORTSYMS = ""
        EXTRATESTOPTS = ""
        EXTRA_CFLAGS = ""
        EXT_SUFFIX = ".cpython-312-x86_64-linux-gnu.so"
        FILEMODE = "644"
        FLOAT_WORDS_BIGENDIAN = "0"
        FREEZE_MODULE = "./_bootstrap_python ./Programs/_freeze_module.py"
        FREEZE_MODULE_BOOTSTRAP = "./Programs/_freeze_module"
        FREEZE_MODULE_BOOTSTRAP_DEPS = "Programs/_freeze_module"
        FREEZE_MODULE_DEPS = "_bootstrap_python ./Programs/_freeze_module.py"
        FROZEN_FILES_IN = "\"
        FROZEN_FILES_OUT = "\"
        GETPGRP_HAVE_ARG = "0"
        GITBRANCH = ""
        GITTAG = ""
        GITVERSION = ""
        GNULD = "yes"
        HAVE_ACCEPT = "1"
        HAVE_ACCEPT4 = "1"
        HAVE_ACOSH = "1"
        HAVE_ADDRINFO = "1"
        HAVE_ALARM = "1"
        HAVE_ALIGNED_REQUIRED = "0"
        HAVE_ALLOCA_H = "1"
        HAVE_ALTZONE = "0"
        HAVE_ASINH = "1"
        HAVE_ASM_TYPES_H = "1"
        HAVE_ATANH = "1"
        HAVE_BIND = "1"
        HAVE_BIND_TEXTDOMAIN_CODESET = "1"
        HAVE_BLUETOOTH_BLUETOOTH_H = "0"
        HAVE_BLUETOOTH_H = "0"
        HAVE_BROKEN_MBSTOWCS = "0"
        HAVE_BROKEN_NICE = "0"
        HAVE_BROKEN_PIPE_BUF = "0"
        HAVE_BROKEN_POLL = "0"
        HAVE_BROKEN_POSIX_SEMAPHORES = "0"
        HAVE_BROKEN_PTHREAD_SIGMASK = "0"
        HAVE_BROKEN_SEM_GETVALUE = "0"
        HAVE_BROKEN_UNSETENV = "0"
        HAVE_BUILTIN_ATOMIC = "1"
        HAVE_BZLIB_H = "1"
        HAVE_CHFLAGS = "0"
        HAVE_CHMOD = "1"
        HAVE_CHOWN = "1"
        HAVE_CHROOT = "1"
        HAVE_CLOCK = "1"
        HAVE_CLOCK_GETRES = "1"
        HAVE_CLOCK_GETTIME = "1"
        HAVE_CLOCK_NANOSLEEP = "1"
        HAVE_CLOCK_SETTIME = "1"
        HAVE_CLOSE_RANGE = "1"
        HAVE_COMPUTED_GOTOS = "1"
        HAVE_CONFSTR = "1"
        HAVE_CONIO_H = "0"
        HAVE_CONNECT = "1"
        HAVE_COPY_FILE_RANGE = "1"
        HAVE_CRYPT_H = "1"
        HAVE_CRYPT_R = "1"
        HAVE_CTERMID = "1"
        HAVE_CTERMID_R = "0"
        HAVE_CURSES_FILTER = "1"
        HAVE_CURSES_H = "1"
        HAVE_CURSES_HAS_KEY = "1"
        HAVE_CURSES_IMMEDOK = "1"
        HAVE_CURSES_IS_PAD = "1"
        HAVE_CURSES_IS_TERM_RESIZED = "1"
        HAVE_CURSES_RESIZETERM = "1"
        HAVE_CURSES_RESIZE_TERM = "1"
        HAVE_CURSES_SYNCOK = "1"
        HAVE_CURSES_TYPEAHEAD = "1"
        HAVE_CURSES_USE_ENV = "1"
        HAVE_CURSES_WCHGAT = "1"
        HAVE_DB_H = "0"
        HAVE_DECL_RTLD_DEEPBIND = "1"
        HAVE_DECL_RTLD_GLOBAL = "1"
        HAVE_DECL_RTLD_LAZY = "1"
        HAVE_DECL_RTLD_LOCAL = "1"
        HAVE_DECL_RTLD_MEMBER = "0"
        HAVE_DECL_RTLD_NODELETE = "1"
        HAVE_DECL_RTLD_NOLOAD = "1"
        HAVE_DECL_RTLD_NOW = "1"
        HAVE_DECL_TZNAME = "0"
        HAVE_DEVICE_MACROS = "1"
        HAVE_DEV_PTC = "0"
        HAVE_DEV_PTMX = "1"
        HAVE_DIRECT_H = "0"
        HAVE_DIRENT_D_TYPE = "1"
        HAVE_DIRENT_H = "1"
        HAVE_DIRFD = "1"
        HAVE_DLFCN_H = "1"
        HAVE_DLOPEN = "1"
        HAVE_DUP = "1"
        HAVE_DUP2 = "1"
        HAVE_DUP3 = "1"
        HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH = "0"
        HAVE_DYNAMIC_LOADING = "1"
        HAVE_EDITLINE_READLINE_H = "0"
        HAVE_ENDIAN_H = "1"
        HAVE_EPOLL = "1"
        HAVE_EPOLL_CREATE1 = "1"
        HAVE_ERF = "1"
        HAVE_ERFC = "1"
        HAVE_ERRNO_H = "1"
        HAVE_EVENTFD = "1"
        HAVE_EXECV = "1"
        HAVE_EXPLICIT_BZERO = "1"
        HAVE_EXPLICIT_MEMSET = "0"
        HAVE_EXPM1 = "1"
        HAVE_FACCESSAT = "1"
        HAVE_FCHDIR = "1"
        HAVE_FCHMOD = "1"
        HAVE_FCHMODAT = "1"
        HAVE_FCHOWN = "1"
        HAVE_FCHOWNAT = "1"
        HAVE_FCNTL_H = "1"
        HAVE_FDATASYNC = "1"
        HAVE_FDOPENDIR = "1"
        HAVE_FDWALK = "0"
        HAVE_FEXECVE = "1"
        HAVE_FFI_CLOSURE_ALLOC = "1"
        HAVE_FFI_PREP_CIF_VAR = "1"
        HAVE_FFI_PREP_CLOSURE_LOC = "1"
        HAVE_FLOCK = "1"
        HAVE_FORK = "1"
        HAVE_FORK1 = "0"
        HAVE_FORKPTY = "1"
        HAVE_FPATHCONF = "1"
        HAVE_FSEEK64 = "0"
        HAVE_FSEEKO = "1"
        HAVE_FSTATAT = "1"
        HAVE_FSTATVFS = "1"
        HAVE_FSYNC = "1"
        HAVE_FTELL64 = "0"
        HAVE_FTELLO = "1"
        HAVE_FTIME = "1"
        HAVE_FTRUNCATE = "1"
        HAVE_FUTIMENS = "1"
        HAVE_FUTIMES = "1"
        HAVE_FUTIMESAT = "1"
        HAVE_GAI_STRERROR = "1"
        HAVE_GCC_ASM_FOR_MC68881 = "0"
        HAVE_GCC_ASM_FOR_X64 = "1"
        HAVE_GCC_ASM_FOR_X87 = "1"
        HAVE_GCC_UINT128_T = "1"
        HAVE_GDBM_DASH_NDBM_H = "0"
        HAVE_GDBM_H = "0"
        HAVE_GDBM_NDBM_H = "0"
        HAVE_GETADDRINFO = "1"
        HAVE_GETC_UNLOCKED = "1"
        HAVE_GETEGID = "1"
        HAVE_GETENTROPY = "1"
        HAVE_GETEUID = "1"
        HAVE_GETGID = "1"
        HAVE_GETGRGID = "1"
        HAVE_GETGRGID_R = "1"
        HAVE_GETGRNAM_R = "1"
        HAVE_GETGROUPLIST = "1"
        HAVE_GETGROUPS = "1"
        HAVE_GETHOSTBYADDR = "1"
        HAVE_GETHOSTBYNAME = "1"
        HAVE_GETHOSTBYNAME_R = "1"
        HAVE_GETHOSTBYNAME_R_3_ARG = "0"
        HAVE_GETHOSTBYNAME_R_5_ARG = "0"
        HAVE_GETHOSTBYNAME_R_6_ARG = "1"
        HAVE_GETHOSTNAME = "1"
        HAVE_GETITIMER = "1"
        HAVE_GETLOADAVG = "1"
        HAVE_GETLOGIN = "1"
        HAVE_GETNAMEINFO = "1"
        HAVE_GETPAGESIZE = "1"
        HAVE_GETPEERNAME = "1"
        HAVE_GETPGID = "1"
        HAVE_GETPGRP = "1"
        HAVE_GETPID = "1"
        HAVE_GETPPID = "1"
        HAVE_GETPRIORITY = "1"
        HAVE_GETPROTOBYNAME = "1"
        HAVE_GETPWENT = "1"
        HAVE_GETPWNAM_R = "1"
        HAVE_GETPWUID = "1"
        HAVE_GETPWUID_R = "1"
        HAVE_GETRANDOM = "1"
        HAVE_GETRANDOM_SYSCALL = "1"
        HAVE_GETRESGID = "1"
        HAVE_GETRESUID = "1"
        HAVE_GETRUSAGE = "1"
        HAVE_GETSERVBYNAME = "1"
        HAVE_GETSERVBYPORT = "1"
        HAVE_GETSID = "1"
        HAVE_GETSOCKNAME = "1"
        HAVE_GETSPENT = "1"
        HAVE_GETSPNAM = "1"
        HAVE_GETUID = "1"
        HAVE_GETWD = "1"
        HAVE_GLIBC_MEMMOVE_BUG = "0"
        HAVE_GRP_H = "1"
        HAVE_HSTRERROR = "1"
        HAVE_HTOLE64 = "1"
        HAVE_IEEEFP_H = "0"
        HAVE_IF_NAMEINDEX = "1"
        HAVE_INET_ATON = "1"
        HAVE_INET_NTOA = "1"
        HAVE_INET_PTON = "1"
        HAVE_INITGROUPS = "1"
        HAVE_INTTYPES_H = "1"
        HAVE_IO_H = "0"
        HAVE_IPA_PURE_CONST_BUG = "0"
        HAVE_KILL = "1"
        HAVE_KILLPG = "1"
        HAVE_KQUEUE = "0"
        HAVE_LANGINFO_H = "1"
        HAVE_LARGEFILE_SUPPORT = "0"
        HAVE_LCHFLAGS = "0"
        HAVE_LCHMOD = "0"
        HAVE_LCHOWN = "1"
        HAVE_LIBB2 = "0"
        HAVE_LIBDB = "0"
        HAVE_LIBDL = "1"
        HAVE_LIBDLD = "0"
        HAVE_LIBIEEE = "0"
        HAVE_LIBINTL_H = "1"
        HAVE_LIBRESOLV = "0"
        HAVE_LIBSENDFILE = "0"
        HAVE_LIBSQLITE3 = "1"
        HAVE_LIBUTIL_H = "0"
        HAVE_LINK = "1"
        HAVE_LINKAT = "1"
        HAVE_LINUX_AUXVEC_H = "1"
        HAVE_LINUX_CAN_BCM_H = "1"
        HAVE_LINUX_CAN_H = "1"
        HAVE_LINUX_CAN_J1939_H = "1"
        HAVE_LINUX_CAN_RAW_FD_FRAMES = "1"
        HAVE_LINUX_CAN_RAW_H = "1"
        HAVE_LINUX_CAN_RAW_JOIN_FILTERS = "1"
        HAVE_LINUX_FS_H = "1"
        HAVE_LINUX_LIMITS_H = "1"
        HAVE_LINUX_MEMFD_H = "1"
        HAVE_LINUX_NETLINK_H = "1"
        HAVE_LINUX_QRTR_H = "1"
        HAVE_LINUX_RANDOM_H = "1"
        HAVE_LINUX_SOUNDCARD_H = "1"
        HAVE_LINUX_TIPC_H = "1"
        HAVE_LINUX_VM_SOCKETS_H = "1"
        HAVE_LINUX_WAIT_H = "1"
        HAVE_LISTEN = "1"
        HAVE_LOCKF = "1"
        HAVE_LOG1P = "1"
        HAVE_LOG2 = "1"
        HAVE_LOGIN_TTY = "1"
        HAVE_LONG_DOUBLE = "1"
        HAVE_LSTAT = "1"
        HAVE_LUTIMES = "1"
        HAVE_LZMA_H = "0"
        HAVE_MADVISE = "1"
        HAVE_MAKEDEV = "1"
        HAVE_MBRTOWC = "1"
        HAVE_MEMFD_CREATE = "1"
        HAVE_MEMRCHR = "1"
        HAVE_MINIX_CONFIG_H = "0"
        HAVE_MKDIRAT = "1"
        HAVE_MKFIFO = "1"
        HAVE_MKFIFOAT = "1"
        HAVE_MKNOD = "1"
        HAVE_MKNODAT = "1"
        HAVE_MKTIME = "1"
        HAVE_MMAP = "1"
        HAVE_MREMAP = "1"
        HAVE_NANOSLEEP = "1"
        HAVE_NCURSESW = "1"
        HAVE_NCURSES_H = "1"
        HAVE_NDBM_H = "0"
        HAVE_NDIR_H = "0"
        HAVE_NETCAN_CAN_H = "0"
        HAVE_NETDB_H = "1"
        HAVE_NETINET_IN_H = "1"
        HAVE_NETPACKET_PACKET_H = "1"
        HAVE_NET_ETHERNET_H = "1"
        HAVE_NET_IF_H = "1"
        HAVE_NICE = "1"
        HAVE_NON_UNICODE_WCHAR_T_REPRESENTATION = "0"
        HAVE_OPENAT = "1"
        HAVE_OPENDIR = "1"
        HAVE_OPENPTY = "1"
        HAVE_PANEL_H = "1"
        HAVE_PATHCONF = "1"
        HAVE_PAUSE = "1"
        HAVE_PIPE = "1"
        HAVE_PIPE2 = "1"
        HAVE_PLOCK = "0"
        HAVE_POLL = "1"
        HAVE_POLL_H = "1"
        HAVE_POSIX_FADVISE = "1"
        HAVE_POSIX_FALLOCATE = "1"
        HAVE_POSIX_SPAWN = "1"
        HAVE_POSIX_SPAWNP = "1"
        HAVE_PREAD = "1"
        HAVE_PREADV = "1"
        HAVE_PREADV2 = "1"
        HAVE_PRLIMIT = "1"
        HAVE_PROCESS_H = "0"
        HAVE_PROTOTYPES = "1"
        HAVE_PTHREAD_CONDATTR_SETCLOCK = "1"
        HAVE_PTHREAD_DESTRUCTOR = "0"
        HAVE_PTHREAD_GETCPUCLOCKID = "1"
        HAVE_PTHREAD_H = "1"
        HAVE_PTHREAD_INIT = "0"
        HAVE_PTHREAD_KILL = "1"
        HAVE_PTHREAD_SIGMASK = "1"
        HAVE_PTHREAD_STUBS = "0"
        HAVE_PTY_H = "1"
        HAVE_PWRITE = "1"
        HAVE_PWRITEV = "1"
        HAVE_PWRITEV2 = "1"
        HAVE_READLINE_READLINE_H = "0"
        HAVE_READLINK = "1"
        HAVE_READLINKAT = "1"
        HAVE_READV = "1"
        HAVE_REALPATH = "1"
        HAVE_RECVFROM = "1"
        HAVE_RENAMEAT = "1"
        HAVE_RL_APPEND_HISTORY = "1"
        HAVE_RL_CATCH_SIGNAL = "1"
        HAVE_RL_COMPDISP_FUNC_T = "1"
        HAVE_RL_COMPLETION_APPEND_CHARACTER = "1"
        HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK = "1"
        HAVE_RL_COMPLETION_MATCHES = "1"
        HAVE_RL_COMPLETION_SUPPRESS_APPEND = "1"
        HAVE_RL_PRE_INPUT_HOOK = "1"
        HAVE_RL_RESIZE_TERMINAL = "1"
        HAVE_RPC_RPC_H = "1"
        HAVE_RTPSPAWN = "0"
        HAVE_SCHED_GET_PRIORITY_MAX = "1"
        HAVE_SCHED_H = "1"
        HAVE_SCHED_RR_GET_INTERVAL = "1"
        HAVE_SCHED_SETAFFINITY = "1"
        HAVE_SCHED_SETPARAM = "1"
        HAVE_SCHED_SETSCHEDULER = "1"
        HAVE_SEM_CLOCKWAIT = "1"
        HAVE_SEM_GETVALUE = "1"
        HAVE_SEM_OPEN = "1"
        HAVE_SEM_TIMEDWAIT = "1"
        HAVE_SEM_UNLINK = "1"
        HAVE_SENDFILE = "1"
        HAVE_SENDTO = "1"
        HAVE_SETEGID = "1"
        HAVE_SETEUID = "1"
        HAVE_SETGID = "1"
        HAVE_SETGROUPS = "1"
        HAVE_SETHOSTNAME = "1"
        HAVE_SETITIMER = "1"
        HAVE_SETJMP_H = "1"
        HAVE_SETLOCALE = "1"
        HAVE_SETNS = "1"
        HAVE_SETPGID = "1"
        HAVE_SETPGRP = "1"
        HAVE_SETPRIORITY = "1"
        HAVE_SETREGID = "1"
        HAVE_SETRESGID = "1"
        HAVE_SETRESUID = "1"
        HAVE_SETREUID = "1"
        HAVE_SETSID = "1"
        HAVE_SETSOCKOPT = "1"
        HAVE_SETUID = "1"
        HAVE_SETVBUF = "1"
        HAVE_SHADOW_H = "1"
        HAVE_SHM_OPEN = "1"
        HAVE_SHM_UNLINK = "1"
        HAVE_SHUTDOWN = "1"
        HAVE_SIGACTION = "1"
        HAVE_SIGALTSTACK = "1"
        HAVE_SIGFILLSET = "1"
        HAVE_SIGINFO_T_SI_BAND = "1"
        HAVE_SIGINTERRUPT = "1"
        HAVE_SIGNAL_H = "1"
        HAVE_SIGPENDING = "1"
        HAVE_SIGRELSE = "1"
        HAVE_SIGTIMEDWAIT = "1"
        HAVE_SIGWAIT = "1"
        HAVE_SIGWAITINFO = "1"
        HAVE_SNPRINTF = "1"
        HAVE_SOCKADDR_ALG = "1"
        HAVE_SOCKADDR_SA_LEN = "0"
        HAVE_SOCKADDR_STORAGE = "1"
        HAVE_SOCKET = "1"
        HAVE_SOCKETPAIR = "1"
        HAVE_SPAWN_H = "1"
        HAVE_SPLICE = "1"
        HAVE_SSIZE_T = "1"
        HAVE_STATVFS = "1"
        HAVE_STAT_TV_NSEC = "1"
        HAVE_STAT_TV_NSEC2 = "0"
        HAVE_STDINT_H = "1"
        HAVE_STDIO_H = "1"
        HAVE_STDLIB_H = "1"
        HAVE_STD_ATOMIC = "1"
        HAVE_STRFTIME = "1"
        HAVE_STRINGS_H = "1"
        HAVE_STRING_H = "1"
        HAVE_STRLCPY = "0"
        HAVE_STROPTS_H = "0"
        HAVE_STRSIGNAL = "1"
        HAVE_STRUCT_PASSWD_PW_GECOS = "1"
        HAVE_STRUCT_PASSWD_PW_PASSWD = "1"
        HAVE_STRUCT_STAT_ST_BIRTHTIME = "0"
        HAVE_STRUCT_STAT_ST_BLKSIZE = "1"
        HAVE_STRUCT_STAT_ST_BLOCKS = "1"
        HAVE_STRUCT_STAT_ST_FLAGS = "0"
        HAVE_STRUCT_STAT_ST_GEN = "0"
        HAVE_STRUCT_STAT_ST_RDEV = "1"
        HAVE_STRUCT_TM_TM_ZONE = "1"
        HAVE_SYMLINK = "1"
        HAVE_SYMLINKAT = "1"
        HAVE_SYNC = "1"
        HAVE_SYSCONF = "1"
        HAVE_SYSEXITS_H = "1"
        HAVE_SYSLOG_H = "1"
        HAVE_SYSTEM = "1"
        HAVE_SYS_AUDIOIO_H = "0"
        HAVE_SYS_AUXV_H = "1"
        HAVE_SYS_BSDTTY_H = "0"
        HAVE_SYS_DEVPOLL_H = "0"
        HAVE_SYS_DIR_H = "0"
        HAVE_SYS_ENDIAN_H = "0"
        HAVE_SYS_EPOLL_H = "1"
        HAVE_SYS_EVENTFD_H = "1"
        HAVE_SYS_EVENT_H = "0"
        HAVE_SYS_FILE_H = "1"
        HAVE_SYS_IOCTL_H = "1"
        HAVE_SYS_KERN_CONTROL_H = "0"
        HAVE_SYS_LOADAVG_H = "0"
        HAVE_SYS_LOCK_H = "0"
        HAVE_SYS_MEMFD_H = "0"
        HAVE_SYS_MKDEV_H = "0"
        HAVE_SYS_MMAN_H = "1"
        HAVE_SYS_MODEM_H = "0"
        HAVE_SYS_NDIR_H = "0"
        HAVE_SYS_PARAM_H = "1"
        HAVE_SYS_POLL_H = "1"
        HAVE_SYS_RANDOM_H = "1"
        HAVE_SYS_RESOURCE_H = "1"
        HAVE_SYS_SELECT_H = "1"
        HAVE_SYS_SENDFILE_H = "1"
        HAVE_SYS_SOCKET_H = "1"
        HAVE_SYS_SOUNDCARD_H = "1"
        HAVE_SYS_STATVFS_H = "1"
        HAVE_SYS_STAT_H = "1"
        HAVE_SYS_SYSCALL_H = "1"
        HAVE_SYS_SYSMACROS_H = "1"
        HAVE_SYS_SYS_DOMAIN_H = "0"
        HAVE_SYS_TERMIO_H = "0"
        HAVE_SYS_TIMES_H = "1"
        HAVE_SYS_TIME_H = "1"
        HAVE_SYS_TYPES_H = "1"
        HAVE_SYS_UIO_H = "1"
        HAVE_SYS_UN_H = "1"
        HAVE_SYS_UTSNAME_H = "1"
        HAVE_SYS_WAIT_H = "1"
        HAVE_SYS_XATTR_H = "1"
        HAVE_TCGETPGRP = "1"
        HAVE_TCSETPGRP = "1"
        HAVE_TEMPNAM = "1"
        HAVE_TERMIOS_H = "1"
        HAVE_TERM_H = "1"
        HAVE_TIMEGM = "1"
        HAVE_TIMES = "1"
        HAVE_TMPFILE = "1"
        HAVE_TMPNAM = "1"
        HAVE_TMPNAM_R = "1"
        HAVE_TM_ZONE = "1"
        HAVE_TRUNCATE = "1"
        HAVE_TTYNAME = "1"
        HAVE_TZNAME = "0"
        HAVE_UMASK = "1"
        HAVE_UNAME = "1"
        HAVE_UNISTD_H = "1"
        HAVE_UNLINKAT = "1"
        HAVE_UNSHARE = "1"
        HAVE_USABLE_WCHAR_T = "0"
        HAVE_UTIL_H = "0"
        HAVE_UTIMENSAT = "1"
        HAVE_UTIMES = "1"
        HAVE_UTIME_H = "1"
        HAVE_UTMP_H = "1"
        HAVE_UUID_CREATE = "0"
        HAVE_UUID_ENC_BE = "0"
        HAVE_UUID_GENERATE_TIME_SAFE = "1"
        HAVE_UUID_H = "1"
        HAVE_UUID_UUID_H = "0"
        HAVE_VFORK = "1"
        HAVE_WAIT = "1"
        HAVE_WAIT3 = "1"
        HAVE_WAIT4 = "1"
        HAVE_WAITID = "1"
        HAVE_WAITPID = "1"
        HAVE_WCHAR_H = "1"
        HAVE_WCSCOLL = "1"
        HAVE_WCSFTIME = "1"
        HAVE_WCSXFRM = "1"
        HAVE_WMEMCMP = "1"
        HAVE_WORKING_TZSET = "1"
        HAVE_WRITEV = "1"
        HAVE_ZLIB_COPY = "1"
        HAVE_ZLIB_H = "0"
        HAVE__GETPTY = "0"
        HOSTRUNNER = ""
        HOST_GNU_TYPE = "x86_64-pc-linux-gnu"
        INCLDIRSTOMAKE = "/home/edward/.pyenv/versions/3.12.2/include /home/edward/.pyenv/versions/3.12.2/include /home/edward/.pyenv/versions/3.12.2/include/python3.12 /home/edward/.pyenv/versions/3.12.2/include/python3.12"
        INCLUDEDIR = "/home/edward/.pyenv/versions/3.12.2/include"
        INCLUDEPY = "/home/edward/.pyenv/versions/3.12.2/include/python3.12"
        INSTALL = "/usr/bin/install -c"
        INSTALL_DATA = "/usr/bin/install -c -m 644"
        INSTALL_PROGRAM = "/usr/bin/install -c"
        INSTALL_SCRIPT = "/usr/bin/install -c"
        INSTALL_SHARED = "/usr/bin/install -c -m 755"
        INSTSONAME = "libpython3.12.so.1.0"
        IO_H = "Modules/_io/_iomodule.h"
        IO_OBJS = "\"
        LDCXXSHARED = "g++ -shared"
        LDFLAGS = "-L/home/edward/.pyenv/versions/3.12.2/lib -Wl,-rpath,/home/edward/.pyenv/versions/3.12.2/lib -L/home/edward/.pyenv/versions/3.12.2/lib -Wl,-rpath,/home/edward/.pyenv/versions/3.12.2/lib"
        LDFLAGS_NODIST = ""
        LDLIBRARY = "libpython3.12.so"
        LDLIBRARYDIR = ""
        LDSHARED = "gcc -shared -L/home/edward/.pyenv/versions/3.12.2/lib -Wl,-rpath,/home/edward/.pyenv/versions/3.12.2/lib -L/home/edward/.pyenv/versions/3.12.2/lib -Wl,-rpath,/home/edward/.pyenv/versions/3.12.2/lib"
        LDVERSION = "3.12"
        LIBC = ""
        LIBDEST = "/home/edward/.pyenv/versions/3.12.2/lib/python3.12"
        LIBDIR = "/home/edward/.pyenv/versions/3.12.2/lib"
        LIBEXPAT_A = "Modules/expat/libexpat.a"
        LIBEXPAT_CFLAGS = "-I./Modules/expat -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-in
itializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I. -I./Include -I/home/edward/.pyenv/versions/3.12.2/include -I/home/edward/.pyenv/versions/3.12.2/include -fPIC -fPIC"
        LIBEXPAT_HEADERS = "\"
        LIBEXPAT_OBJS = "\"
        LIBHACL_CFLAGS = "-I./Modules/_hacl/include -D_BSD_SOURCE -D_DEFAULT_SOURCE -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno
-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I. -I./Include -I/home/edward/.pyenv/versions/3.12.2/include -I/home/edward/.pyenv/versions/3.12.2/include -fPIC -fPIC"
        LIBHACL_HEADERS = "\"
        LIBHACL_SHA2_A = "Modules/_hacl/libHacl_Hash_SHA2.a"
        LIBHACL_SHA2_HEADERS = "\"
        LIBHACL_SHA2_OBJS = "\"
        LIBM = "-lm"
        LIBMPDEC_A = "Modules/_decimal/libmpdec/libmpdec.a"
        LIBMPDEC_CFLAGS = "-I./Modules/_decimal/libmpdec -DCONFIG_64=1 -DANSI=1 -DHAVE_UINT128_T=1 -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -std=c
11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I. -I./Include -I/home/edward/.pyenv/versions/3.12.2/include -I/home/edward/.pyenv/versions/3.12.2/include -fPIC -fPIC"
        LIBMPDEC_HEADERS = "\"
        LIBMPDEC_OBJS = "\"
        LIBOBJDIR = "Python/"
        LIBOBJS = ""
        LIBPC = "/home/edward/.pyenv/versions/3.12.2/lib/pkgconfig"
        LIBPL = "/home/edward/.pyenv/versions/3.12.2/lib/python3.12/config-3.12-x86_64-linux-gnu"
        LIBPYTHON = ""
        LIBRARY = "libpython3.12.a"
        LIBRARY_DEPS = "libpython3.12.a libpython3.12.so libpython3.so"
        LIBRARY_OBJS = "\"
        LIBRARY_OBJS_OMIT_FROZEN = "\"
        LIBS = "-ldl -L/home/edward/.pyenv/versions/3.12.2/lib -Wl,-rpath,/home/edward/.pyenv/versions/3.12.2/lib"
        LIBSUBDIRS = "asyncio \"
        LINKCC = "gcc"
        LINKFORSHARED = "-Xlinker -export-dynamic"
        LINK_PYTHON_DEPS = "libpython3.12.a libpython3.12.so libpython3.so"
        LINK_PYTHON_OBJS = "-L. -lpython3.12"
        LIPO_32BIT_FLAGS = ""
        LIPO_INTEL64_FLAGS = ""
        LLVM_PROF_ERR = "no"
        LLVM_PROF_FILE = ""
        LLVM_PROF_MERGER = "true"
        LN = "ln"
        LOCALMODLIBS = ""
        MACHDEP = "linux"
        MACHDEP_OBJS = ""
        MACHDESTLIB = "/home/edward/.pyenv/versions/3.12.2/lib/python3.12"
        MACOSX_DEPLOYMENT_TARGET = ""
        MAJOR_IN_MKDEV = "0"
        MAJOR_IN_SYSMACROS = "1"
        MAKESETUP = "./Modules/makesetup"
        MANDIR = "/home/edward/.pyenv/versions/3.12.2/share/man"
        MKDIR_P = "/usr/bin/mkdir -p"
        MODBUILT_NAMES = "array  _asyncio  _bisect  _contextvars  _csv  _heapq  _json  _lsprof  _opcode  _pickle  _queue  _random  _struct  _xxsubinterpreters  _xx
interpchannels  _zoneinfo  audioop  math  cmath  _statistics  _datetime  _decimal  binascii  _bz2  _lzma  zlib  readline  _md5  _sha1  _sha2  _sha3  _blake2  pyexp
at  _elementtree  _codecs_cn  _codecs_hk  _codecs_iso2022  _codecs_jp  _codecs_kr  _codecs_tw  _multibytecodec  unicodedata  _crypt  fcntl  grp  mmap  nis  ossaudi
odev  _posixsubprocess  resource  select  _socket  spwd  syslog  termios  _posixshmem  _multiprocessing  _ctypes  _curses  _curses_panel  _sqlite3  _ssl  _hashlib 
 _uuid  _tkinter  xxsubtype  _xxtestfuzz  _testbuffer  _testinternalcapi  _testcapi  _testclinic  _testimportmultiple  _testmultiphase  _testsinglephase  _ctypes_t
est  xxlimited  xxlimited_35  atexit  faulthandler  posix  _signal  _tracemalloc  _codecs  _collections  errno  _io  itertools  _sre  _thread  time  _typing  _weakref  _abc  _functools  _locale  _operator  _stat  _symtable  pwd"
        MODDISABLED_NAMES = ""
        MODLIBS = ""
        MODOBJS = "Modules/atexitmodule.o  Modules/faulthandler.o  Modules/posixmodule.o  Modules/signalmodule.o  Modules/_tracemalloc.o  Modules/_codecsmodule.o  
Modules/_collectionsmodule.o  Modules/errnomodule.o  Modules/_io/_iomodule.o Modules/_io/iobase.o Modules/_io/fileio.o Modules/_io/bytesio.o Modules/_io/bufferedio
.o Modules/_io/textio.o Modules/_io/stringio.o  Modules/itertoolsmodule.o  Modules/_sre/sre.o  Modules/_threadmodule.o  Modules/timemodule.o  Modules/_typingmodule
.o  Modules/_weakref.o  Modules/_abc.o  Modules/_functoolsmodule.o  Modules/_localemodule.o  Modules/_operator.o  Modules/_stat.o  Modules/symtablemodule.o  Modules/pwdmodule.o"
        MODSHARED_NAMES = "array _asyncio _bisect _contextvars _csv _heapq _json _lsprof _opcode _pickle _queue _random _struct _xxsubinterpreters _xxinterpchannel
s _zoneinfo audioop math cmath _statistics _datetime _decimal binascii _bz2 _lzma zlib readline _md5 _sha1 _sha2 _sha3 _blake2 pyexpat _elementtree _codecs_cn _cod
ecs_hk _codecs_iso2022 _codecs_jp _codecs_kr _codecs_tw _multibytecodec unicodedata _crypt fcntl grp mmap nis ossaudiodev _posixsubprocess resource select _socket 
spwd syslog termios _posixshmem _multiprocessing _ctypes _curses _curses_panel _sqlite3 _ssl _hashlib _uuid _tkinter xxsubtype _xxtestfuzz _testbuffer _testinternalcapi _testcapi _testclinic _testimportmultiple _testmultiphase _testsinglephase _ctypes_test xxlimited xxlimited_35"
        MODULE_ARRAY_STATE = "yes"
        MODULE_ATEXIT_LDFLAGS = ""
        MODULE_AUDIOOP_LDFLAGS = "-lm"
        MODULE_AUDIOOP_STATE = "yes"
        MODULE_BINASCII_CFLAGS = "-DUSE_ZLIB_CRC32"
        MODULE_BINASCII_LDFLAGS = "-lz"
        MODULE_BINASCII_STATE = "yes"
        MODULE_CMATH_DEPS = "./Modules/_math.h"
        MODULE_CMATH_LDFLAGS = "-lm"
        MODULE_CMATH_STATE = "yes"
        MODULE_DEPS_SHARED = "Modules/config.c"
        MODULE_DEPS_STATIC = "Modules/config.c"
        MODULE_ERRNO_LDFLAGS = ""
        MODULE_FAULTHANDLER_LDFLAGS = ""
        MODULE_FCNTL_LDFLAGS = ""
        MODULE_FCNTL_STATE = "yes"
        MODULE_GRP_STATE = "yes"
        MODULE_ITERTOOLS_LDFLAGS = ""
        MODULE_MATH_DEPS = "./Modules/_math.h"
        MODULE_MATH_LDFLAGS = "-lm"
        MODULE_MATH_STATE = "yes"
        MODULE_MMAP_STATE = "yes"
        MODULE_NIS_CFLAGS = "-I/usr/include/tirpc"
        MODULE_NIS_LDFLAGS = "-lnsl -ltirpc"
        MODULE_NIS_STATE = "yes"
        MODULE_OBJS = "\"
        MODULE_OSSAUDIODEV_LDFLAGS = ""
        MODULE_OSSAUDIODEV_STATE = "yes"
        MODULE_POSIX_LDFLAGS = ""
        MODULE_PWD_LDFLAGS = ""
        MODULE_PWD_STATE = "yes"
        MODULE_PYEXPAT_CFLAGS = "-I./Modules/expat"
        MODULE_PYEXPAT_DEPS = "\ Modules/expat/libexpat.a"
        MODULE_PYEXPAT_LDFLAGS = "-lm Modules/expat/libexpat.a"
        MODULE_PYEXPAT_STATE = "yes"
        MODULE_READLINE_CFLAGS = "-D_DEFAULT_SOURCE"
        MODULE_READLINE_LDFLAGS = "-lreadline"
        MODULE_READLINE_STATE = "yes"
        MODULE_RESOURCE_STATE = "yes"
        MODULE_SELECT_STATE = "yes"
        MODULE_SPWD_STATE = "yes"
        MODULE_SYSLOG_STATE = "yes"
        MODULE_TERMIOS_STATE = "yes"
        MODULE_TIME_LDFLAGS = ""
        MODULE_TIME_STATE = "yes"
        MODULE_UNICODEDATA_DEPS = "./Modules/unicodedata_db.h ./Modules/unicodename_db.h"
        MODULE_UNICODEDATA_STATE = "yes"
        MODULE_XXLIMITED_35_STATE = "yes"
        MODULE_XXLIMITED_STATE = "yes"
        MODULE_XXSUBTYPE_STATE = "yes"
        MODULE_ZLIB_CFLAGS = ""
        MODULE_ZLIB_LDFLAGS = "-lz"
        MODULE_ZLIB_STATE = "yes"
        MODULE__ABC_LDFLAGS = ""
        MODULE__ASYNCIO_STATE = "yes"
        MODULE__BISECT_STATE = "yes"
        MODULE__BLAKE2_CFLAGS = ""
        MODULE__BLAKE2_DEPS = "./Modules/_blake2/impl/blake2-config.h ./Modules/_blake2/impl/blake2-impl.h ./Modules/_blake2/impl/blake2.h ./Modules/_blake2/impl/b
lake2b-load-sse2.h ./Modules/_blake2/impl/blake2b-load-sse41.h ./Modules/_blake2/impl/blake2b-ref.c ./Modules/_blake2/impl/blake2b-round.h ./Modules/_blake2/impl/b
lake2b.c ./Modules/_blake2/impl/blake2s-load-sse2.h ./Modules/_blake2/impl/blake2s-load-sse41.h ./Modules/_blake2/impl/blake2s-load-xop.h ./Modules/_blake2/impl/blake2s-ref.c ./Modules/_blake2/impl/blake2s-round.h ./Modules/_blake2/impl/blake2s.c ./Modules/_blake2/blake2module.h ./Modules/hashlib.h"
        MODULE__BLAKE2_LDFLAGS = ""
        MODULE__BLAKE2_STATE = "yes"
        MODULE__BZ2_CFLAGS = ""
        MODULE__BZ2_LDFLAGS = "-lbz2"
        MODULE__BZ2_STATE = "yes"
        MODULE__CODECS_CN_DEPS = "./Modules/cjkcodecs/mappings_cn.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h"
        MODULE__CODECS_CN_STATE = "yes"
        MODULE__CODECS_HK_DEPS = "./Modules/cjkcodecs/mappings_hk.h  ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h"
        MODULE__CODECS_HK_STATE = "yes"
        MODULE__CODECS_ISO2022_DEPS = "./Modules/cjkcodecs/mappings_jisx0213_pair.h ./Modules/cjkcodecs/alg_jisx0201.h ./Modules/cjkcodecs/emu_jisx0213_2000.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h"
        MODULE__CODECS_ISO2022_STATE = "yes"
        MODULE__CODECS_JP_DEPS = "./Modules/cjkcodecs/mappings_jisx0213_pair.h ./Modules/cjkcodecs/alg_jisx0201.h ./Modules/cjkcodecs/emu_jisx0213_2000.h ./Modules/cjkcodecs/mappings_jp.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h"
        MODULE__CODECS_JP_STATE = "yes"
        MODULE__CODECS_KR_DEPS = "./Modules/cjkcodecs/mappings_kr.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h"
        MODULE__CODECS_KR_STATE = "yes"
        MODULE__CODECS_LDFLAGS = ""
        MODULE__CODECS_TW_DEPS = "./Modules/cjkcodecs/mappings_tw.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h"
        MODULE__CODECS_TW_STATE = "yes"
        MODULE__COLLECTIONS_LDFLAGS = ""
        MODULE__CONTEXTVARS_STATE = "yes"
        MODULE__CRYPT_CFLAGS = ""
        MODULE__CRYPT_LDFLAGS = "-lcrypt"
        MODULE__CRYPT_STATE = "yes"
        MODULE__CSV_STATE = "yes"
        MODULE__CTYPES_CFLAGS = "-fno-strict-overflow"
        MODULE__CTYPES_DEPS = "./Modules/_ctypes/ctypes.h"
        MODULE__CTYPES_LDFLAGS = "-lffi -ldl"
        MODULE__CTYPES_MALLOC_CLOSURE = ""
        MODULE__CTYPES_STATE = "yes"
        MODULE__CTYPES_TEST_LDFLAGS = "-lm"
        MODULE__CTYPES_TEST_STATE = "yes"
        MODULE__CURSES_CFLAGS = "-D_DEFAULT_SOURCE"
        MODULE__CURSES_LDFLAGS = "-lncursesw -ltinfo"
        MODULE__CURSES_PANEL_CFLAGS = "-D_DEFAULT_SOURCE  -D_DEFAULT_SOURCE  -D_DEFAULT_SOURCE"
        MODULE__CURSES_PANEL_LDFLAGS = "-lpanelw -lncursesw -ltinfo"
        MODULE__CURSES_PANEL_STATE = "yes"
        MODULE__CURSES_STATE = "yes"
        MODULE__DATETIME_LDFLAGS = "-lm"
        MODULE__DATETIME_STATE = "yes"
        MODULE__DBM_STATE = "missing"
        MODULE__DECIMAL_CFLAGS = "-I./Modules/_decimal/libmpdec -DCONFIG_64=1 -DANSI=1 -DHAVE_UINT128_T=1"
        MODULE__DECIMAL_DEPS = "./Modules/_decimal/docstrings.h \ Modules/_decimal/libmpdec/libmpdec.a"
        MODULE__DECIMAL_LDFLAGS = "-lm Modules/_decimal/libmpdec/libmpdec.a"
        MODULE__DECIMAL_STATE = "yes"
        MODULE__ELEMENTTREE_CFLAGS = "-I./Modules/expat"
        MODULE__ELEMENTTREE_DEPS = "./Modules/pyexpat.c \ Modules/expat/libexpat.a"
        MODULE__ELEMENTTREE_STATE = "yes"
        MODULE__FUNCTOOLS_LDFLAGS = ""
        MODULE__GDBM_STATE = "missing"
        MODULE__HASHLIB_CFLAGS = ""
        MODULE__HASHLIB_DEPS = "./Modules/hashlib.h"
        MODULE__HASHLIB_LDFLAGS = "-lcrypto"
        MODULE__HASHLIB_STATE = "yes"
        MODULE__HEAPQ_STATE = "yes"
        MODULE__IO_CFLAGS = "-I./Modules/_io"
        MODULE__IO_DEPS = "./Modules/_io/_iomodule.h"
        MODULE__IO_LDFLAGS = ""
        MODULE__IO_STATE = "yes"
        MODULE__JSON_STATE = "yes"
        MODULE__LOCALE_LDFLAGS = ""
        MODULE__LSPROF_STATE = "yes"
        MODULE__LZMA_CFLAGS = ""
        MODULE__LZMA_LDFLAGS = "-llzma"
        MODULE__LZMA_STATE = "yes"
        MODULE__MD5_CFLAGS = "-I./Modules/_hacl/include -I./Modules/_hacl/internal -D_BSD_SOURCE -D_DEFAULT_SOURCE"
        MODULE__MD5_DEPS = "./Modules/hashlib.h \ Modules/_hacl/Hacl_Hash_MD5.h Modules/_hacl/Hacl_Hash_MD5.c"
        MODULE__MD5_STATE = "yes"
        MODULE__MULTIBYTECODEC_DEPS = "./Modules/cjkcodecs/multibytecodec.h"
        MODULE__MULTIBYTECODEC_STATE = "yes"
        MODULE__MULTIPROCESSING_CFLAGS = "-I./Modules/_multiprocessing"
        MODULE__MULTIPROCESSING_STATE = "yes"
        MODULE__OPCODE_STATE = "yes"
        MODULE__OPERATOR_LDFLAGS = ""
        MODULE__PICKLE_STATE = "yes"
        MODULE__POSIXSHMEM_CFLAGS = "-I./Modules/_multiprocessing"
        MODULE__POSIXSHMEM_LDFLAGS = ""
        MODULE__POSIXSHMEM_STATE = "yes"
        MODULE__POSIXSUBPROCESS_STATE = "yes"
        MODULE__QUEUE_STATE = "yes"
        MODULE__RANDOM_STATE = "yes"
        MODULE__SCPROXY_STATE = "n/a"
        MODULE__SHA1_CFLAGS = "-I./Modules/_hacl/include -I./Modules/_hacl/internal -D_BSD_SOURCE -D_DEFAULT_SOURCE"
        MODULE__SHA1_DEPS = "./Modules/hashlib.h \ Modules/_hacl/Hacl_Hash_SHA1.h Modules/_hacl/Hacl_Hash_SHA1.c"
        MODULE__SHA1_STATE = "yes"
        MODULE__SHA2_CFLAGS = "-I./Modules/_hacl/include -I./Modules/_hacl/internal -D_BSD_SOURCE -D_DEFAULT_SOURCE"
        MODULE__SHA2_DEPS = "./Modules/hashlib.h \ Modules/_hacl/libHacl_Hash_SHA2.a"
        MODULE__SHA2_STATE = "yes"
        MODULE__SHA3_DEPS = "./Modules/hashlib.h \ Modules/_hacl/Hacl_Hash_SHA3.h Modules/_hacl/Hacl_Hash_SHA3.c"
        MODULE__SHA3_STATE = "yes"
        MODULE__SIGNAL_LDFLAGS = ""
        MODULE__SOCKET_DEPS = "./Modules/socketmodule.h ./Modules/addrinfo.h ./Modules/getaddrinfo.c ./Modules/getnameinfo.c"
        MODULE__SOCKET_STATE = "yes"
        MODULE__SQLITE3_CFLAGS = "-I./Modules/_sqlite"
        MODULE__SQLITE3_DEPS = "./Modules/_sqlite/connection.h ./Modules/_sqlite/cursor.h ./Modules/_sqlite/microprotocols.h ./Modules/_sqlite/module.h ./Modules/_sqlite/prepare_protocol.h ./Modules/_sqlite/row.h ./Modules/_sqlite/util.h"
        MODULE__SQLITE3_LDFLAGS = "-lsqlite3"
        MODULE__SQLITE3_STATE = "yes"
        MODULE__SRE_LDFLAGS = ""
        MODULE__SSL_CFLAGS = ""
        MODULE__SSL_DEPS = "./Modules/_ssl.h ./Modules/_ssl/cert.c ./Modules/_ssl/debughelpers.c ./Modules/_ssl/misc.c ./Modules/_ssl_data.h ./Modules/_ssl_data_111.h ./Modules/_ssl_data_300.h ./Modules/socketmodule.h"
        MODULE__SSL_LDFLAGS = "-lssl -lcrypto"
        MODULE__SSL_STATE = "yes"
        MODULE__STATISTICS_LDFLAGS = "-lm"
        MODULE__STATISTICS_STATE = "yes"
        MODULE__STAT_LDFLAGS = ""
        MODULE__STRUCT_STATE = "yes"
        MODULE__SYMTABLE_LDFLAGS = ""
        MODULE__TESTBUFFER_STATE = "yes"
        MODULE__TESTCAPI_DEPS = "./Modules/_testcapi/testcapi_long.h ./Modules/_testcapi/parts.h ./Modules/_testcapi/util.h"
        MODULE__TESTCAPI_STATE = "yes"
        MODULE__TESTCLINIC_STATE = "yes"
        MODULE__TESTIMPORTMULTIPLE_STATE = "yes"
        MODULE__TESTINTERNALCAPI_STATE = "yes"
        MODULE__TESTMULTIPHASE_STATE = "yes"
        MODULE__THREAD_LDFLAGS = ""
        MODULE__TKINTER_CFLAGS = "-I/usr/include/tcl8.6 -Wno-strict-prototypes -DWITH_APPINIT=1"
        MODULE__TKINTER_LDFLAGS = "-ltk8.6 -ltkstub8.6 -ltcl8.6 -ltclstub8.6"
        MODULE__TKINTER_STATE = "yes"
        MODULE__TRACEMALLOC_LDFLAGS = ""
        MODULE__TYPING_LDFLAGS = ""
        MODULE__TYPING_STATE = "yes"
        MODULE__UUID_CFLAGS = "-I/usr/include/uuid"
        MODULE__UUID_LDFLAGS = "-luuid"
        MODULE__UUID_STATE = "yes"
        MODULE__WEAKREF_LDFLAGS = ""
        MODULE__XXINTERPCHANNELS_STATE = "yes"
        MODULE__XXSUBINTERPRETERS_STATE = "yes"
        MODULE__XXTESTFUZZ_STATE = "yes"
        MODULE__ZONEINFO_STATE = "yes"
        MULTIARCH = "x86_64-linux-gnu"
        MULTIARCH_CPPFLAGS = "-DMULTIARCH=\"x86_64-linux-gnu\""
        MVWDELCH_IS_EXPRESSION = "1"
        NO_AS_NEEDED = "-Wl,--no-as-needed"
        OBJECT_OBJS = "\"
        OPT = "-DNDEBUG -g -O3 -Wall"
        PACKAGE_BUGREPORT = "0"
        PACKAGE_NAME = "0"
        PACKAGE_STRING = "0"
        PACKAGE_TARNAME = "0"
        PACKAGE_URL = "0"
        PACKAGE_VERSION = "0"
        PARSER_HEADERS = "\"
        PARSER_OBJS = "\ \ Parser/myreadline.o Parser/tokenizer.o"
        PEGEN_HEADERS = "\"
        PEGEN_OBJS = "\"
        PGO_PROF_GEN_FLAG = "-fprofile-generate"
        PGO_PROF_USE_FLAG = "-fprofile-use -fprofile-correction"
        PLATLIBDIR = "lib"
        POBJS = "\"
        POSIX_SEMAPHORES_NOT_ENABLED = "0"
        PROFILE_TASK = "-m test --pgo --timeout=1200"
        PTHREAD_KEY_T_IS_COMPATIBLE_WITH_INT = "1"
        PTHREAD_SYSTEM_SCHED_SUPPORTED = "1"
        PURIFY = ""
        PY3LIBRARY = "libpython3.so"
        PYLONG_BITS_IN_DIGIT = "0"
        PYTHON = "python"
        PYTHONFRAMEWORK = ""
        PYTHONFRAMEWORKDIR = "no-framework"
        PYTHONFRAMEWORKINSTALLDIR = ""
        PYTHONFRAMEWORKPREFIX = ""
        PYTHONPATH = ""
        PYTHON_FOR_BUILD = "./python -E"
        PYTHON_FOR_BUILD_DEPS = "python"
        PYTHON_FOR_FREEZE = "./_bootstrap_python"
        PYTHON_FOR_REGEN = ""
        PYTHON_HEADERS = "\"
        PYTHON_OBJS = "\"
        PY_BUILTIN_HASHLIB_HASHES = ""md5,sha1,sha2,sha3,blake2""
        PY_BUILTIN_MODULE_CFLAGS = "-fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializer
s -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I. -I./Include -I/home/edward/.pyenv/versions/3.12.2/include -I/home/edward/.pyenv/versions/3.12.2/include -fPIC -DPy_BUILD_CORE_BUILTIN"
        PY_CFLAGS = "-fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall"
        PY_CFLAGS_NODIST = "-std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal"
        PY_COERCE_C_LOCALE = "1"
        PY_CORE_CFLAGS = "-fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict
-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I. -I./Include -I/home/edward/.pyenv/versions/3.12.2/include -I/home/edward/.pyenv/versions/3.12.2/include -fPIC -DPy_BUILD_CORE"
        PY_CORE_LDFLAGS = "-L/home/edward/.pyenv/versions/3.12.2/lib -Wl,-rpath,/home/edward/.pyenv/versions/3.12.2/lib -L/home/edward/.pyenv/versions/3.12.2/lib -Wl,-rpath,/home/edward/.pyenv/versions/3.12.2/lib"
        PY_CPPFLAGS = "-I. -I./Include -I/home/edward/.pyenv/versions/3.12.2/include -I/home/edward/.pyenv/versions/3.12.2/include"
        PY_ENABLE_SHARED = "1"
        PY_HAVE_PERF_TRAMPOLINE = "1"
        PY_LDFLAGS = "-L/home/edward/.pyenv/versions/3.12.2/lib -Wl,-rpath,/home/edward/.pyenv/versions/3.12.2/lib -L/home/edward/.pyenv/versions/3.12.2/lib -Wl,-rpath,/home/edward/.pyenv/versions/3.12.2/lib"
        PY_LDFLAGS_NODIST = ""
        PY_LDFLAGS_NOLTO = "-L/home/edward/.pyenv/versions/3.12.2/lib -Wl,-rpath,/home/edward/.pyenv/versions/3.12.2/lib -L/home/edward/.pyenv/versions/3.12.2/lib -Wl,-rpath,/home/edward/.pyenv/versions/3.12.2/lib"
        PY_SQLITE_ENABLE_LOAD_EXTENSION = "0"
        PY_SQLITE_HAVE_SERIALIZE = "1"
        PY_SSL_DEFAULT_CIPHERS = "1"
        PY_SSL_DEFAULT_CIPHER_STRING = "0"
        PY_STDMODULE_CFLAGS = "-fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Ws
trict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I. -I./Include -I/home/edward/.pyenv/versions/3.12.2/include -I/home/edward/.pyenv/versions/3.12.2/include -fPIC"
        PY_SUPPORT_TIER = "1"
        Py_DEBUG = "0"
        Py_ENABLE_SHARED = "1"
        Py_HASH_ALGORITHM = "0"
        Py_STATS = "0"
        Py_SUNOS_VERSION = "0"
        Py_TRACE_REFS = "0"
        QUICKTESTOPTS = "-x test_subprocess test_io test_lib2to3 \"
        READELF = "@READELF@"
        RESSRCDIR = "Mac/Resources/framework"
        RETSIGTYPE = "void"
        RUNSHARED = "LD_LIBRARY_PATH=/tmp/python-build.20240418160013.6995/Python-3.12.2"
        SCRIPTDIR = "/home/edward/.pyenv/versions/3.12.2/lib"
        SCRIPT_2TO3 = "build/scripts-3.12/2to3-3.12"
        SCRIPT_IDLE = "build/scripts-3.12/idle3.12"
        SCRIPT_PYDOC = "build/scripts-3.12/pydoc3.12"
        SETPGRP_HAVE_ARG = "0"
        SHAREDMODS = "Modules/array.cpython-312-x86_64-linux-gnu.so Modules/_asyncio.cpython-312-x86_64-linux-gnu.so Modules/_bisect.cpython-312-x86_64-linux-gnu.s
o Modules/_contextvars.cpython-312-x86_64-linux-gnu.so Modules/_csv.cpython-312-x86_64-linux-gnu.so Modules/_heapq.cpython-312-x86_64-linux-gnu.so Modules/_json.cp
ython-312-x86_64-linux-gnu.so Modules/_lsprof.cpython-312-x86_64-linux-gnu.so Modules/_opcode.cpython-312-x86_64-linux-gnu.so Modules/_pickle.cpython-312-x86_64-li
nux-gnu.so Modules/_queue.cpython-312-x86_64-linux-gnu.so Modules/_random.cpython-312-x86_64-linux-gnu.so Modules/_struct.cpython-312-x86_64-linux-gnu.so Modules/_
xxsubinterpreters.cpython-312-x86_64-linux-gnu.so Modules/_xxinterpchannels.cpython-312-x86_64-linux-gnu.so Modules/_zoneinfo.cpython-312-x86_64-linux-gnu.so Modul
es/audioop.cpython-312-x86_64-linux-gnu.so Modules/math.cpython-312-x86_64-linux-gnu.so Modules/cmath.cpython-312-x86_64-linux-gnu.so Modules/_statistics.cpython-3
12-x86_64-linux-gnu.so Modules/_datetime.cpython-312-x86_64-linux-gnu.so Modules/_decimal.cpython-312-x86_64-linux-gnu.so Modules/binascii.cpython-312-x86_64-linux
-gnu.so Modules/_bz2.cpython-312-x86_64-linux-gnu.so Modules/_lzma.cpython-312-x86_64-linux-gnu.so Modules/zlib.cpython-312-x86_64-linux-gnu.so Modules/readline.cp
ython-312-x86_64-linux-gnu.so Modules/_md5.cpython-312-x86_64-linux-gnu.so Modules/_sha1.cpython-312-x86_64-linux-gnu.so Modules/_sha2.cpython-312-x86_64-linux-gnu
.so Modules/_sha3.cpython-312-x86_64-linux-gnu.so Modules/_blake2.cpython-312-x86_64-linux-gnu.so Modules/pyexpat.cpython-312-x86_64-linux-gnu.so Modules/_elementt
ree.cpython-312-x86_64-linux-gnu.so Modules/_codecs_cn.cpython-312-x86_64-linux-gnu.so Modules/_codecs_hk.cpython-312-x86_64-linux-gnu.so Modules/_codecs_iso2022.c
python-312-x86_64-linux-gnu.so Modules/_codecs_jp.cpython-312-x86_64-linux-gnu.so Modules/_codecs_kr.cpython-312-x86_64-linux-gnu.so Modules/_codecs_tw.cpython-312
-x86_64-linux-gnu.so Modules/_multibytecodec.cpython-312-x86_64-linux-gnu.so Modules/unicodedata.cpython-312-x86_64-linux-gnu.so Modules/_crypt.cpython-312-x86_64-
linux-gnu.so Modules/fcntl.cpython-312-x86_64-linux-gnu.so Modules/grp.cpython-312-x86_64-linux-gnu.so Modules/mmap.cpython-312-x86_64-linux-gnu.so Modules/nis.cpy
thon-312-x86_64-linux-gnu.so Modules/ossaudiodev.cpython-312-x86_64-linux-gnu.so Modules/_posixsubprocess.cpython-312-x86_64-linux-gnu.so Modules/resource.cpython-
312-x86_64-linux-gnu.so Modules/select.cpython-312-x86_64-linux-gnu.so Modules/_socket.cpython-312-x86_64-linux-gnu.so Modules/spwd.cpython-312-x86_64-linux-gnu.so
 Modules/syslog.cpython-312-x86_64-linux-gnu.so Modules/termios.cpython-312-x86_64-linux-gnu.so Modules/_posixshmem.cpython-312-x86_64-linux-gnu.so Modules/_multip
rocessing.cpython-312-x86_64-linux-gnu.so Modules/_ctypes.cpython-312-x86_64-linux-gnu.so Modules/_curses.cpython-312-x86_64-linux-gnu.so Modules/_curses_panel.cpy
thon-312-x86_64-linux-gnu.so Modules/_sqlite3.cpython-312-x86_64-linux-gnu.so Modules/_ssl.cpython-312-x86_64-linux-gnu.so Modules/_hashlib.cpython-312-x86_64-linu
x-gnu.so Modules/_uuid.cpython-312-x86_64-linux-gnu.so Modules/_tkinter.cpython-312-x86_64-linux-gnu.so Modules/xxsubtype.cpython-312-x86_64-linux-gnu.so Modules/_
xxtestfuzz.cpython-312-x86_64-linux-gnu.so Modules/_testbuffer.cpython-312-x86_64-linux-gnu.so Modules/_testinternalcapi.cpython-312-x86_64-linux-gnu.so Modules/_t
estcapi.cpython-312-x86_64-linux-gnu.so Modules/_testclinic.cpython-312-x86_64-linux-gnu.so Modules/_testimportmultiple.cpython-312-x86_64-linux-gnu.so Modules/_te
stmultiphase.cpython-312-x86_64-linux-gnu.so Modules/_testsinglephase.cpython-312-x86_64-linux-gnu.so Modules/_ctypes_test.cpython-312-x86_64-linux-gnu.so Modules/xxlimited.cpython-312-x86_64-linux-gnu.so Modules/xxlimited_35.cpython-312-x86_64-linux-gnu.so"
        SHELL = "/bin/sh -e"
        SHLIBS = "-ldl -L/home/edward/.pyenv/versions/3.12.2/lib -Wl,-rpath,/home/edward/.pyenv/versions/3.12.2/lib"
        SHLIB_SUFFIX = ".so"
        SIGNED_RIGHT_SHIFT_ZERO_FILLS = "0"
        SITEPATH = ""
        SIZEOF_DOUBLE = "8"
        SIZEOF_FLOAT = "4"
        SIZEOF_FPOS_T = "16"
        SIZEOF_INT = "4"
        SIZEOF_LONG = "8"
        SIZEOF_LONG_DOUBLE = "16"
        SIZEOF_LONG_LONG = "8"
        SIZEOF_OFF_T = "8"
        SIZEOF_PID_T = "4"
        SIZEOF_PTHREAD_KEY_T = "4"
        SIZEOF_PTHREAD_T = "8"
        SIZEOF_SHORT = "2"
        SIZEOF_SIZE_T = "8"
        SIZEOF_TIME_T = "8"
        SIZEOF_UINTPTR_T = "8"
        SIZEOF_VOID_P = "8"
        SIZEOF_WCHAR_T = "4"
        SIZEOF__BOOL = "1"
        SOABI = "cpython-312-x86_64-linux-gnu"
        SRCDIRS = "Modules   Modules/_blake2   Modules/_ctypes   Modules/_decimal   Modules/_decimal/libmpdec   Modules/_hacl   Modules/_io   Modules/_multiprocess
ing   Modules/_sqlite   Modules/_sre   Modules/_testcapi   Modules/_xxtestfuzz   Modules/cjkcodecs   Modules/expat   Objects   Parser   Programs   Python   Python/frozen_modules   Python/deepfreeze"
        SRC_GDB_HOOKS = "./Tools/gdb/libpython.py"
        STATIC_LIBPYTHON = "1"
        STDC_HEADERS = "1"
        STRICT_SYSV_CURSES = "/* Don't use ncurses extensions */"
        STRIPFLAG = "-s"
        SUBDIRS = ""
        SUBDIRSTOO = "Include Lib Misc"
        SYSLIBS = "-lm"
        SYS_SELECT_WITH_SYS_TIME = "1"
        TESTOPTS = ""
        TESTPATH = ""
        TESTPYTHON = "LD_LIBRARY_PATH=/tmp/python-build.20240418160013.6995/Python-3.12.2 ./python -E"
        TESTPYTHONOPTS = ""
        TESTRUNNER = "LD_LIBRARY_PATH=/tmp/python-build.20240418160013.6995/Python-3.12.2 ./python -E ./Tools/scripts/run_tests.py"
        TESTSUBDIRS = "idlelib/idle_test \"
        TESTTIMEOUT = "1200"
        TEST_MODULES = "yes"
        THREAD_STACK_SIZE = "0"
        TIMEMODULE_LIB = "0"
        TM_IN_SYS_TIME = "0"
        TZPATH = "/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/etc/zoneinfo"
        UNICODE_DEPS = "\"
        UNIVERSALSDK = ""
        UPDATE_FILE = "./Tools/build/update_file.py"
        USE_COMPUTED_GOTOS = "0"
        VERSION = "3.12"
        WASM_ASSETS_DIR = "./home/edward/.pyenv/versions/3.12.2"
        WASM_STDLIB = "./home/edward/.pyenv/versions/3.12.2/lib/python3.12/os.py"
        WHEEL_PKG_DIR = ""
        WINDOW_HAS_FLAGS = "1"
        WITH_DECIMAL_CONTEXTVAR = "1"
        WITH_DOC_STRINGS = "1"
        WITH_DTRACE = "0"
        WITH_DYLD = "0"
        WITH_EDITLINE = "0"
        WITH_FREELISTS = "1"
        WITH_LIBINTL = "0"
        WITH_NEXT_FRAMEWORK = "0"
        WITH_PYMALLOC = "1"
        WITH_VALGRIND = "0"
        X87_DOUBLE_ROUNDING = "0"
        XMLLIBSUBDIRS = "xml xml/dom xml/etree xml/parsers xml/sax"
        abiflags = ""
        abs_builddir = "/tmp/python-build.20240418160013.6995/Python-3.12.2"
        abs_srcdir = "/tmp/python-build.20240418160013.6995/Python-3.12.2"
        base = "/home/edward/projects/auth_api_system/.venv"
        datarootdir = "/home/edward/.pyenv/versions/3.12.2/share"
        exec_prefix = "/home/edward/.pyenv/versions/3.12.2"
        installed_base = "/home/edward/.pyenv/versions/3.12.2"
        installed_platbase = "/home/edward/.pyenv/versions/3.12.2"
        platbase = "/home/edward/projects/auth_api_system/.venv"
        platlibdir = "lib"
        prefix = "/home/edward/.pyenv/versions/3.12.2"
        projectbase = "/home/edward/.pyenv/versions/3.12.2/bin"
        py_version = "3.12.2"
        py_version_nodot = "312"
        py_version_nodot_plat = ""
        py_version_short = "3.12"
        srcdir = "/home/edward/.pyenv/versions/3.12.2/lib/python3.12/config-3.12-x86_64-linux-gnu"
        userbase = "/home/edward/.local"

Example pyproject.toml

[tool.poetry]
name = "api-project"
version = "0.1.0"
description = ""
authors = ["Edward"]
readme = "README.md"

[tool.poetry.dependencies]
python = "^3.12"
litestar = {extras = ["cryptography", "jwt", "standard"], version = "^2.8.3"}
asyncpg = "^0.29.0"
pydantic = {extras = ["email"], version = "^2.7.2"}
passlib = "^1.7.4"
redis = "^5.0.4"
requests = "^2.32.3"
httpx = "^0.27.0"
cloud-sql-python-connector = "^1.9.2"
ruff = "^0.4.8"
advanced-alchemy = "^0.14.1"
google-cloud-secret-manager = "^2.20.0"
pytest = "^8.2.2"
pytest-asyncio = "^0.23.8"
gspread = "^6.1.2"


[tool.poetry.group.dev.dependencies]
python-dotenv = "^1.0.1"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

Poetry Runtime Logs

8.198 [build:build] Getting build dependencies for wheel...
8.529
8.529   Stack trace:
8.529
8.529   8  /opt/poetry/venv/lib/python3.12/site-packages/poetry/installation/executor.py:285 in _execute_operation
8.547       283│
8.547       284│             try:
8.547     → 285│                 result = self._do_execute_operation(operation)
8.547       286│             except EnvCommandError as e:
8.548       287│                 if e.e.returncode == -2:
8.548
8.548   7  /opt/poetry/venv/lib/python3.12/site-packages/poetry/installation/executor.py:395 in _do_execute_operation
8.566       393│             return 0
8.566       394│
8.566     → 395│         result: int = getattr(self, f"_execute_{method}")(operation)
8.566       396│
8.566       397│         if result != 0:
8.566
8.566   6  /opt/poetry/venv/lib/python3.12/site-packages/poetry/installation/executor.py:520 in _execute_install
8.584       518│
8.584       519│     def _execute_install(self, operation: Install | Update) -> int:
8.584     → 520│         status_code = self._install(operation)
8.584       521│
8.584       522│         self._save_url_reference(operation)
8.584
8.584   5  /opt/poetry/venv/lib/python3.12/site-packages/poetry/installation/executor.py:558 in _install
8.604       556│             archive = self._download_link(operation, Link(package.source_url))
8.604       557│         else:
8.604     → 558│             archive = self._download(operation)
8.604       559│
8.604       560│         operation_message = self.get_operation_message(operation)
8.604
8.604   4  /opt/poetry/venv/lib/python3.12/site-packages/poetry/installation/executor.py:750 in _download
8.621       748│             self._yanked_warnings.append(message)
8.621       749│
8.621     → 750│         return self._download_link(operation, link)
8.621       751│
8.622       752│     def _download_link(self, operation: Install | Update, link: Link) -> Path:
8.622
8.622   3  /opt/poetry/venv/lib/python3.12/site-packages/poetry/installation/executor.py:785 in _download_link
8.640       783│             self._write(operation, message)
8.640       784│
8.640     → 785│             archive = self._chef.prepare(archive, output_dir=original_archive.parent)
8.640       786│
8.640       787│         # Use the original archive to provide the correct hash.
8.640
8.640   2  /opt/poetry/venv/lib/python3.12/site-packages/poetry/installation/chef.py:123 in prepare
8.644       121│             return self._prepare(archive, destination=destination, editable=editable)
8.644       122│
8.644     → 123│         return self._prepare_sdist(archive, destination=output_dir)
8.644       124│
8.644       125│     def _prepare(
8.645
8.645   1  /opt/poetry/venv/lib/python3.12/site-packages/poetry/installation/chef.py:194 in _prepare_sdist
8.649       192│             destination.mkdir(parents=True, exist_ok=True)
8.649       193│
8.649     → 194│             return self._prepare(
8.649       195│                 sdist_dir,
8.649       196│                 destination,
8.649
8.649   ChefBuildError
8.649
8.649   Backend subprocess exited when trying to invoke get_requires_for_build_wheel
8.649
8.649   Traceback (most recent call last):
8.649     File "/opt/poetry/venv/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py", line 373, in <module>
8.649       main()
8.649     File "/opt/poetry/venv/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py", line 357, in main
8.649       json_out["return_val"] = hook(**hook_input["kwargs"])
8.649                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
8.649     File "/opt/poetry/venv/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py", line 134, in get_requires_for_build_wheel
8.649       return hook(config_settings)
8.649              ^^^^^^^^^^^^^^^^^^^^^
8.649     File "/tmp/tmpzr9c__7x/.venv/lib/python3.12/site-packages/setuptools/build_meta.py", line 327, in get_requires_for_build_wheel
8.649       return self._get_build_requires(config_settings, requirements=[])
8.649              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
8.649     File "/tmp/tmpzr9c__7x/.venv/lib/python3.12/site-packages/setuptools/build_meta.py", line 297, in _get_build_requires
8.649       self.run_setup()
8.649     File "/tmp/tmpzr9c__7x/.venv/lib/python3.12/site-packages/setuptools/build_meta.py", line 497, in run_setup
8.649       super().run_setup(setup_script=setup_script)
8.649     File "/tmp/tmpzr9c__7x/.venv/lib/python3.12/site-packages/setuptools/build_meta.py", line 313, in run_setup
8.649       exec(code, locals())
8.649     File "<string>", line 9, in <module>
8.649   ModuleNotFoundError: No module named 'setuptools.command.test'
8.649
8.649
8.649   at /opt/poetry/venv/lib/python3.12/site-packages/poetry/installation/chef.py:164 in _prepare
8.654       160│
8.654       161│                 error = ChefBuildError("\n\n".join(message_parts))
8.654       162│
8.654       163│             if error is not None:
8.654     → 164│                 raise error from None
8.654       165│
8.654       166│             return path
8.654       167│
8.654       168│     def _prepare_sdist(self, archive: Path, destination: Path | None = None) -> Path:
8.655
8.655 Note: This error originates from the build backend, and is likely not a problem with poetry but with jsbeautifier (1.15.1) not supporting PEP 517 builds. You can verify this by running 'pip wheel --no-cache-dir --use-pep517 "jsbeautifier (==1.15.1)"'.
8.655
------
failed to solve: process "/bin/sh -c poetry install --no-interaction --without dev --no-ansi -vvv" did not complete successfully: exit code: 1
@Hannes0730 Hannes0730 added kind/bug Something isn't working as expected status/triage This issue needs to be triaged labels Jul 29, 2024
@bushwhackr
Copy link

@bushwhackr
Copy link

For more context, I'm encountering the same issue with poetry's installation of pyhive. Which uses the same setuptools.command.test module.

https://github.com/dropbox/PyHive/blob/master/setup.py

74.25   ChefBuildError
74.25
74.25   Backend subprocess exited when trying to invoke get_requires_for_build_wheel
74.25
74.25   Traceback (most recent call last):
74.25     File "/usr/local/lib/python3.10/site-packages/pyproject_hooks/_in_process/_in_process.py", line 373, in <module>
74.25       main()
74.25     File "/usr/local/lib/python3.10/site-packages/pyproject_hooks/_in_process/_in_process.py", line 357, in main
74.25       json_out["return_val"] = hook(**hook_input["kwargs"])
74.25     File "/usr/local/lib/python3.10/site-packages/pyproject_hooks/_in_process/_in_process.py", line 134, in get_requires_for_build_wheel
74.25       return hook(config_settings)
74.25     File "/tmp/tmp2hqtutao/.venv/lib/python3.10/site-packages/setuptools/build_meta.py", line 327, in get_requires_for_build_wheel
74.25       return self._get_build_requires(config_settings, requirements=[])
74.25     File "/tmp/tmp2hqtutao/.venv/lib/python3.10/site-packages/setuptools/build_meta.py", line 297, in _get_build_requires
74.25       self.run_setup()
74.25     File "/tmp/tmp2hqtutao/.venv/lib/python3.10/site-packages/setuptools/build_meta.py", line 497, in run_setup
74.25       super().run_setup(setup_script=setup_script)
74.25     File "/tmp/tmp2hqtutao/.venv/lib/python3.10/site-packages/setuptools/build_meta.py", line 313, in run_setup
74.25       exec(code, locals())
74.25     File "<string>", line 4, in <module>
74.25   ModuleNotFoundError: No module named 'setuptools.command.test'
74.25
74.25
74.25   at /usr/local/lib/python3.10/site-packages/poetry/installation/chef.py:164 in _prepare
74.25       160│
74.25       161│                 error = ChefBuildError("\n\n".join(message_parts))
74.25       162│
74.25       163│             if error is not None:
74.25     → 164│                 raise error from None
74.25       165│
74.25       166│             return path
74.25       167│
74.25       168│     def _prepare_sdist(self, archive: Path, destination: Path | None = None) -> Path:
74.25
74.25 Note: This error originates from the build backend, and is likely not a problem with poetry but with pyhive (0.6.5) not supporting PEP 517 builds. You can verify this by running 'pip wheel --no-cache-dir --use-pep517 "pyhive (==0.6.5)"'.

@bushwhackr
Copy link

A workaround would be to do the installation manually rather than relying on poetry to do it, e.g.

poetry run pip install pyhive==0.6.5 &&
poetry install

Is there a better workaround?

@Hannes0730
Copy link
Author

Hannes0730 commented Jul 29, 2024

bushwhackr

I still get the same error when installing pyhive for both poetry run pip install and poetry add.

- Installing pyhive (0.6.5): Failed

  ChefBuildError

  Backend subprocess exited when trying to invoke get_requires_for_build_wheel
  
  Traceback (most recent call last):
    File "/home/edward/.local/share/pypoetry/venv/lib/python3.10/site-packages/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
      main()
    File "/home/edward/.local/share/pypoetry/venv/lib/python3.10/site-packages/pyproject_hooks/_in_process/_in_process.py", line 335, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/edward/.local/share/pypoetry/venv/lib/python3.10/site-packages/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
      return hook(config_settings)
             ^^^^^^^^^^^^^^^^^^^^^
    File "/tmp/tmprpa79s_9/.venv/lib/python3.12/site-packages/setuptools/build_meta.py", line 327, in get_requires_for_build_wheel
      return self._get_build_requires(config_settings, requirements=[])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/tmp/tmprpa79s_9/.venv/lib/python3.12/site-packages/setuptools/build_meta.py", line 297, in _get_build_requires
      self.run_setup()
    File "/tmp/tmprpa79s_9/.venv/lib/python3.12/site-packages/setuptools/build_meta.py", line 497, in run_setup
      super().run_setup(setup_script=setup_script)
    File "/tmp/tmprpa79s_9/.venv/lib/python3.12/site-packages/setuptools/build_meta.py", line 313, in run_setup
      exec(code, locals())
    File "<string>", line 4, in <module>
  ModuleNotFoundError: No module named 'setuptools.command.test'
  

  at ~/.local/share/pypoetry/venv/lib/python3.10/site-packages/poetry/installation/chef.py:164 in _prepare
      160│
      161│                 error = ChefBuildError("\n\n".join(message_parts))
      162│
      163│             if error is not None:
    → 164│                 raise error from None
      165│
      166│             return path
      167│
      168│     def _prepare_sdist(self, archive: Path, destination: Path | None = None) -> Path:

Note: This error originates from the build backend, and is likely not a problem with poetry but with pyhive (0.6.5) not supporting PEP 517 builds. You can verify this by running 'pip wheel --no-cache-dir --use-pep517 "pyhive (==0.6.5)"'.

@sobolevn
Copy link
Contributor

Pinning setuptools helps:

[tool.poetry.dependencies]
setuptools = "<70"

@D3nn3
Copy link

D3nn3 commented Jul 29, 2024

Pinning setuptools helps:

[tool.poetry.dependencies]
setuptools = "<70"

Doesn't for me.

@bushwhackr
Copy link

@Hannes0730

This is a min example of my Dockerfile

docker buildx build -t test:latest . && docker run --rm test:latest cat /output && docker run --rm test:latest cat /output2

 name         : pyhive
 version      : 0.6.5
 description  : Python interface to Hive

dependencies
 - future *
 - python-dateutil *
0.6.5
FROM python:3.10.13-slim AS builder

RUN apt-get update && apt-get install libsasl2-dev libkrb5-dev build-essential -y

RUN pip install poetry==1.8.3
RUN poetry new project
WORKDIR project
RUN python -m venv /tmp/venv && . /tmp/venv/bin/activate && poetry config virtualenvs.create false && poetry run pip install pyhive==0.6.5 && poetry add pyhive==0.6.5

RUN poetry show pyhive > /output
RUN . /tmp/venv/bin/activate && poetry run python -c "import pyhive; print(pyhive.__version__)" > /output2

@dimbleby
Copy link
Contributor

dimbleby commented Jul 29, 2024

Not a poetry bug. pypa/setuptools#4519.

Please close.

@ilyamonakov
Copy link

While it's not a poetry bug, imo poetry should provide a tool to lock setuptools version.

@D3nn3
Copy link

D3nn3 commented Jul 29, 2024

A workaround which worked in my case:

Create a file called constraints.txt

setuptools<72

Then set PIP_CONSTRAINT=/path/to/constraints.txt

After that, a normal poetry install works.

Source for appreciation: pypa/setuptools#4519 (comment)

@dimbleby
Copy link
Contributor

dimbleby commented Jul 29, 2024

imo poetry should provide a tool to lock setuptools version

duplicate #8752, #8216, #8261

@anyidea
Copy link

anyidea commented Jul 29, 2024

below solves my issue in Dockerfile

ENV PIP_CONSTRAINT=/path/to/constraints.txt
RUN echo "setuptools<72" >> ${PIP_CONSTRAINT}

@Hannes0730
Copy link
Author

A workaround which worked in my case:

Create a file called constraints.txt

setuptools<72

Then set PIP_CONSTRAINT=/path/to/constraints.txt

After that, a normal poetry install works.

Source for appreciation: pypa/setuptools#4519 (comment)

will try this. I thought it was purely dependent on pip. Further updates on my end will be posted on setuptools issues. Thanks, everyone.

@petrprikryl
Copy link

Hi, is there any working solution for poetry?

@Hannes0730
Copy link
Author

Hi, is there any working solution for poetry?

@petrprikryl check this comment. This might work for you. pypa/setuptools#4519 (comment)

@max-wittig
Copy link

poetry should really fix the lockfile. That's its main task and a potential security concern, when setuptools can just be changed and the lockfile is ignored.

@dimbleby
Copy link
Contributor

dimbleby commented Jul 29, 2024

poetry should really fix the lockfile. That's its main task and a potential security concern

please take this discussion to #8261 (although so far you are only duplicating what has already been said)

@Secrus
Copy link
Member

Secrus commented Jul 29, 2024

This is not a Poetry bug and related discussion was pointed in the comments. To avoid further spam, I am going to lock this.

@python-poetry python-poetry locked and limited conversation to collaborators Jul 29, 2024
@radoering radoering added status/external-issue Issue is caused by external project (platform, dep, etc) and removed status/triage This issue needs to be triaged labels Jul 29, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
kind/bug Something isn't working as expected status/external-issue Issue is caused by external project (platform, dep, etc)
Projects
None yet
Development

No branches or pull requests