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

Resolving dependencies in 2.0 takes forever #9956

Open
ace-han opened this issue Jan 6, 2025 · 9 comments
Open

Resolving dependencies in 2.0 takes forever #9956

ace-han opened this issue Jan 6, 2025 · 9 comments
Labels
kind/bug Something isn't working as expected status/triage This issue needs to be triaged

Comments

@ace-han
Copy link

ace-han commented Jan 6, 2025

Description

Install cleanrl 's dependencies via poetry install takes forever to resolve dependencies

image
image

Workarounds

using poetry==1.8.5 works fine

image

root@dsw-498899-84cf4b4bc5-hg2qz:/mnt/workspace/cleanrl# conda activate base
(base) root@dsw-498899-84cf4b4bc5-hg2qz:/mnt/workspace/cleanrl# poetry install 
Skipping virtualenv creation, as specified in config file.
Updating dependencies
Resolving dependencies... Downloading https://mirrors.aliyun.com/pypi/packages/fe/58/1641614c17fcd7293d250c2cad48011baa1ecef4f109ce2ea027aa8e4898/jax-0.4.8.tar.gz#sha256=0811Resolving dependencies... Downloading https://mirrors.aliyun.com/pypi/packages/02/12/17873498f8da2a61cc17a62e6323c64d783f3bfa331798631661518906b7/expt-0.4.2.tar.gz#sha256=4a7Resolving dependencies... (192.4s)

Package operations: 28 installs, 61 updates, 0 removals

  - Downgrading numpy (1.26.3 -> 1.24.4)
  - Updating certifi (2023.11.17 /home/conda/feedstock_root/build_artifacts/certifi_1700303426725/work/certifi -> 2024.12.14)
  - Updating charset-normalizer (2.0.4 /tmp/build/80754af9/charset-normalizer_1630003229654/work -> 3.4.1)
  - Updating idna (3.4 /croot/idna_1666125576474/work -> 3.10)
  - Updating markupsafe (2.1.3 -> 2.1.5)
  - Installing nvidia-nvjitlink-cu12 (12.4.127)
  - Updating packaging (23.1 /croot/packaging_1693575174725/work -> 24.2)
  - Updating pyasn1 (0.5.1 -> 0.6.1)
  - Updating six (1.16.0 -> 1.17.0)
  - Installing smmap (5.0.2)
  - Updating typing-extensions (4.9.0 -> 4.12.2)
  - Updating urllib3 (1.26.16 /croot/urllib3_1686163155763/work -> 2.3.0)
  - Updating absl-py (2.0.0 -> 2.1.0)
  - Updating cachetools (5.3.2 -> 5.5.0)
  - Updating cloudpickle (3.0.0 -> 3.1.0)
  - Downgrading contourpy (1.2.0 -> 1.1.1)
  - Updating filelock (3.13.1 -> 3.16.1)
  - Updating fonttools (4.47.0 -> 4.55.3)
  - Installing gitdb (4.0.12)
  - Installing gym-notices (0.0.8)
  - Updating kiwisolver (1.4.5 -> 1.4.7)
  - Installing nvidia-cublas-cu12 (12.4.5.8): Downloading... 3%
  - Installing nvidia-cublas-cu12 (12.4.5.8): Downloading... 57%
  - Installing nvidia-cublas-cu12 (12.4.5.8): Installing...
  - Installing nvidia-cublas-cu12 (12.4.5.8)
  - Installing nvidia-cusparse-cu12 (12.3.1.170)
  - Updating pillow (10.2.0 -> 10.4.0)
  - Updating platformdirs (4.1.0 -> 4.3.6)
  - Updating pyasn1-modules (0.3.0 -> 0.4.1)
  - Updating pygments (2.17.2 -> 2.19.0)
  - Updating pyparsing (3.1.1 -> 3.1.4)
  - Updating python-dateutil (2.8.2 -> 2.9.0.post0)
  - Updating pytz (2023.3.post1 -> 2024.2)
  - Updating pyyaml (6.0.1 -> 6.0.2)
  - Updating requests (2.31.0 /croot/requests_1690400202158/work -> 2.32.3)
  - Downgrading rsa (4.9 -> 4.7.2)
  - Updating setuptools (68.0.0 -> 75.3.0)
  - Updating tzdata (2023.4 -> 2024.2)
  - Updating click (8.1.7 -> 8.1.8)
  - Installing commonmark (0.9.1)
  - Updating distlib (0.3.8 -> 0.3.9)
  - Installing docker-pycreds (0.4.0)
  - Installing farama-notifications (0.0.4)
  - Updating fsspec (2023.10.0 -> 2024.12.0): Installing...
  - Updating fsspec (2023.10.0 -> 2024.12.0)
  - Installing gitpython (3.1.44)
  - Updating google-auth (2.26.1 -> 2.37.0)
  - Installing gym (0.23.1): Preparing...
  - Installing gym (0.23.1)
  - Updating imageio (2.33.1 -> 2.35.1)
  - Downgrading imageio-ffmpeg (0.4.9 /home/conda/feedstock_root/build_artifacts/imageio-ffmpeg_1694632425602/work -> 0.3.0): Downloading... 60%
  - Downgrading imageio-ffmpeg (0.4.9 /home/conda/feedstock_root/build_artifacts/imageio-ffmpeg_1694632425602/work -> 0.3.0): Installing...
  - Downgrading imageio-ffmpeg (0.4.9 /home/conda/feedstock_root/build_artifacts/imageio-ffmpeg_1694632425602/work -> 0.3.0)
  - Installing jax-jumpy (1.0.0)
  - Updating jinja2 (3.1.2 -> 3.1.5)
  - Updating markdown (3.5.1 -> 3.7)
  - Updating matplotlib (3.5.3 -> 3.7.5)
  - Updating networkx (2.8.4 -> 3.1)
  - Installing nvidia-cuda-cupti-cu12 (12.4.127)
  - Installing nvidia-cuda-nvrtc-cu12 (12.4.127)
  - Installing nvidia-cuda-runtime-cu12 (12.4.127)
  - Installing nvidia-cudnn-cu12 (9.1.0.70): Downloading... 8%
  - Installing nvidia-cudnn-cu12 (9.1.0.70): Downloading... 19%
  - Installing nvidia-cudnn-cu12 (9.1.0.70): Downloading... 29%
  - Installing nvidia-cudnn-cu12 (9.1.0.70): Downloading... 31%
  - Installing nvidia-cudnn-cu12 (9.1.0.70): Installing...
  - Installing nvidia-cudnn-cu12 (9.1.0.70)
  - Installing nvidia-cufft-cu12 (11.2.1.3)
  - Installing nvidia-curand-cu12 (10.3.5.147)
  - Installing nvidia-cusolver-cu12 (11.6.1.9)
  - Installing nvidia-nccl-cu12 (2.21.5)
  - Installing nvidia-nvtx-cu12 (12.4.127)
  - Downgrading pandas (2.1.4 -> 2.0.3)
  - Installing pathtools (0.1.2)
  - Updating protobuf (3.20.3 -> 4.25.5)
  - Updating psutil (5.9.7 -> 6.1.1)
  - Updating requests-oauthlib (1.3.1 -> 2.0.0)
  - Installing sentry-sdk (2.19.2)
  - Installing setproctitle (1.3.4)
  - Updating sympy (1.12 -> 1.13.1)
  - Updating tqdm (4.65.0 /croot/tqdm_1679561862951/work -> 4.67.1)
  - Updating triton (2.1.0 -> 3.1.0)
  - Updating docstring-parser (0.15 -> 0.16)
  - Updating grpcio (1.60.0 -> 1.69.0)
  - Installing gymnasium (0.28.1)
  - Updating identify (2.5.33 -> 2.6.1)
  - Updating nodeenv (1.8.0 -> 1.9.1)
  - Downgrading rich (13.7.0 -> 11.2.0)
  - Updating shtab (1.6.5 -> 1.7.1)
  - Updating torch (2.1.2+cu121 -> 2.5.1)
  - Updating virtualenv (20.25.0 -> 20.28.1)
  - Installing wandb (0.13.11)
  - Updating werkzeug (2.2.3 -> 3.0.6)
  - Updating wheel (0.41.2 -> 0.45.1)
  - Downgrading huggingface-hub (0.20.2 -> 0.11.1)
  - Downgrading pre-commit (3.6.0 -> 2.21.0)
  - Installing pygame (2.1.0)
  - Installing stable-baselines3 (2.0.0)
  - Updating tenacity (8.2.3 -> 8.5.0)
  - Downgrading tensorboard (2.15.1 -> 2.14.0)
  - Downgrading tyro (0.6.3 -> 0.5.18)

Writing lock file

Installing the current project: cleanrl (2.0.0b1)
(base) root@dsw-498899-84cf4b4bc5-hg2qz:/mnt/workspace/cleanrl# poetry -V
Poetry (version 1.8.5)
(base) root@dsw-498899-84cf4b4bc5-hg2qz:/mnt/workspace/cleanrl# 

Poetry Installation Method

install.python-poetry.org

Operating System

Ubuntu 22.04.2 LTS

Poetry Version

2.0.0

Poetry Configuration

cache-dir = "/root/.cache/pypoetry"
installer.max-workers = null
installer.no-binary = null
installer.only-binary = null
installer.parallel = true
installer.re-resolve = true
keyring.enabled = true
requests.max-retries = 0
solver.lazy-wheel = true
system-git-client = false
virtualenvs.create = false
virtualenvs.in-project = null
virtualenvs.options.always-copy = false
virtualenvs.options.no-pip = false
virtualenvs.options.system-site-packages = false
virtualenvs.path = "/opt/conda/envs"
virtualenvs.prompt = "{project_name}-py{python_version}"
virtualenvs.use-poetry-python = false

Python Sysconfig

sysconfig.log
root@dsw-498793-6c5c78668-ps57p:/tmp# python -m sysconfig
Platform: "linux-x86_64"
Python version: "3.10"
Current installation scheme: "posix_prefix"

Paths: 
        data = "/opt/conda"
        include = "/opt/conda/include/python3.10"
        platinclude = "/opt/conda/include/python3.10"
        platlib = "/opt/conda/lib/python3.10/site-packages"
        platstdlib = "/opt/conda/lib/python3.10"
        purelib = "/opt/conda/lib/python3.10/site-packages"
        scripts = "/opt/conda/bin"
        stdlib = "/opt/conda/lib/python3.10"

Variables: 
        ABIFLAGS = ""
        AC_APPLE_UNIVERSAL_BUILD = "0"
        AIX_BUILDDATE = "0"
        AIX_GENUINE_CPLUSPLUS = "0"
        ALIGNOF_LONG = "8"
        ALIGNOF_SIZE_T = "8"
        ALT_SOABI = "0"
        ANDROID_API_LEVEL = "0"
        AR = "ar"
        ARFLAGS = "rcs"
        BASECFLAGS = "-Wno-unused-result -Wsign-compare"
        BASECPPFLAGS = "-IObjects -IInclude -IPython"
        BASEMODLIBS = ""
        BINDIR = "/opt/conda/bin"
        BINLIBDEST = "/opt/conda/lib/python3.10"
        BLDLIBRARY = "libpython3.10.a"
        BLDSHARED = "gcc -pthread -B /opt/conda/compiler_compat -shared  -Wl,-rpath,/opt/conda/lib -Wl,-rpath-link,/opt/conda/lib -L/opt/conda/lib -Wl,-rpath,/opt/conda/lib -Wl,-rpath-link,/opt/conda/lib -L/opt/conda/lib"
        BUILDEXE = ""
        BUILDPYTHON = "python"
        BUILD_GNU_TYPE = "x86_64-conda_cos6-linux-gnu"
        BYTESTR_DEPS = "\"
        CC = "gcc -pthread -B /opt/conda/compiler_compat"
        CCSHARED = "-fPIC"
        CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2   -isystem /opt/conda/include -fPIC -O2   -isystem /opt/conda/include "
        CFLAGSFORSHARED = ""
        CFLAGS_ALIASING = ""
        CONFIGFILES = "configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in"
        CONFIGURE_CFLAGS = "-fPIC -O2 -isystem /opt/conda/include "
        CONFIGURE_CFLAGS_NODIST = "-fno-semantic-interposition  -g -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden"
        CONFIGURE_CPPFLAGS = "-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /opt/conda/include -I/opt/conda/include"
        CONFIGURE_LDFLAGS = "-Wl,-rpath,/opt/conda/lib -Wl,-rpath-link,/opt/conda/lib -L/opt/conda/lib"
        CONFIGURE_LDFLAGS_NODIST = "-fno-semantic-interposition  -g"
        CONFIG_ARGS = "'--prefix=/opt/conda''--build=x86_64-conda_cos6-linux-gnu''--host=x86_64-conda_cos6-linux-gnu''--enable-ipv6''--with-ensurepip=no''--with-tzpath=/opt/conda/share/zoneinfo:/opt/conda/share/tzinfo''--with-computed-gotos''--with-system-ffi''--enable-loadable-sqlite-extensions''--with-tcltk-includes=-I/opt/conda/include''--with-tcltk-libs=-L/opt/conda/lib -ltcl8.6 -ltk8.6''--with-platlibdir=lib''--with-lto''--enable-optimizations''-oldincludedir=/croot/python-split_1694437906621/_build_env/x86_64-conda_cos6-linux-gnu/sysroot/usr/include''--disable-shared''PROFILE_TASK=-m test --pgo''build_alias=x86_64-conda_cos6-linux-gnu''host_alias=x86_64-conda_cos6-linux-gnu''MACHDEP=linux''CC=gcc''CFLAGS= -fPIC -O2  -isystem /opt/conda/include ''LDFLAGS=   -Wl,-rpath,/opt/conda/lib -Wl,-rpath-link,/opt/conda/lib -L/opt/conda/lib''CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /opt/conda/include -I/opt/conda/include''CPP=/croot/python-split_1694437906621/_build_env/bin/cpp''PKG_CONFIG_PATH=/opt/conda/lib/pkgconfig'"
        CONFINCLUDEDIR = "/opt/conda/include"
        CONFINCLUDEPY = "/opt/conda/include/python3.10"
        COREPYTHONPATH = ""
        COVERAGE_INFO = "/croot/python-split_1694437906621/work/build-static/coverage.info"
        COVERAGE_REPORT = "/croot/python-split_1694437906621/work/build-static/lcov-report"
        COVERAGE_REPORT_OPTIONS = "--no-branch-coverage --title "CPython lcov report""
        CPPFLAGS = "-IObjects -IInclude -IPython -I. -I/croot/python-split_1694437906621/work/Include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /opt/conda/include -I/opt/conda/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /opt/conda/include -I/opt/conda/include"
        CXX = "g++ -pthread -B /opt/conda/compiler_compat"
        DESTDIRS = "/opt/conda /opt/conda/lib /opt/conda/lib/python3.10 /opt/conda/lib/python3.10/lib-dynload"
        DESTLIB = "/opt/conda/lib/python3.10"
        DESTPATH = ""
        DESTSHARED = "/opt/conda/lib/python3.10/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"
        DTRACE = ""
        DTRACE_DEPS = "\"
        DTRACE_HEADERS = ""
        DTRACE_OBJS = ""
        DYNLOADFILE = "dynload_shlib.o"
        ENABLE_IPV6 = "1"
        ENSUREPIP = "no"
        EXE = ""
        EXEMODE = "755"
        EXPERIMENTAL_ISOLATED_SUBINTERPRETERS = "0"
        EXPORTSFROM = ""
        EXPORTSYMS = ""
        EXTRATESTOPTS = ""
        EXT_SUFFIX = ".cpython-310-x86_64-linux-gnu.so"
        FILEMODE = "644"
        FLOAT_WORDS_BIGENDIAN = "0"
        FLOCK_NEEDS_LIBBSD = "0"
        GETPGRP_HAVE_ARG = "0"
        GITBRANCH = ""
        GITTAG = ""
        GITVERSION = ""
        GNULD = "no"
        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_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_CHFLAGS = "0"
        HAVE_CHOWN = "1"
        HAVE_CHROOT = "1"
        HAVE_CLOCK = "1"
        HAVE_CLOCK_GETRES = "1"
        HAVE_CLOCK_GETTIME = "1"
        HAVE_CLOCK_SETTIME = "1"
        HAVE_CLOSE_RANGE = "0"
        HAVE_COMPUTED_GOTOS = "1"
        HAVE_CONFSTR = "1"
        HAVE_CONIO_H = "0"
        HAVE_COPYSIGN = "1"
        HAVE_COPY_FILE_RANGE = "0"
        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_DECL_ISFINITE = "1"
        HAVE_DECL_ISINF = "1"
        HAVE_DECL_ISNAN = "1"
        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_DUP2 = "1"
        HAVE_DUP3 = "1"
        HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH = "0"
        HAVE_DYNAMIC_LOADING = "1"
        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 = "0"
        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_FINITE = "1"
        HAVE_FLOCK = "1"
        HAVE_FORK = "1"
        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_GAMMA = "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_GETADDRINFO = "1"
        HAVE_GETC_UNLOCKED = "1"
        HAVE_GETENTROPY = "0"
        HAVE_GETGRGID_R = "1"
        HAVE_GETGRNAM_R = "1"
        HAVE_GETGROUPLIST = "1"
        HAVE_GETGROUPS = "1"
        HAVE_GETHOSTBYNAME = "0"
        HAVE_GETHOSTBYNAME_R = "1"
        HAVE_GETHOSTBYNAME_R_3_ARG = "0"
        HAVE_GETHOSTBYNAME_R_5_ARG = "0"
        HAVE_GETHOSTBYNAME_R_6_ARG = "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_GETPRIORITY = "1"
        HAVE_GETPWENT = "1"
        HAVE_GETPWNAM_R = "1"
        HAVE_GETPWUID_R = "1"
        HAVE_GETRANDOM = "0"
        HAVE_GETRANDOM_SYSCALL = "1"
        HAVE_GETRESGID = "1"
        HAVE_GETRESUID = "1"
        HAVE_GETSID = "1"
        HAVE_GETSPENT = "1"
        HAVE_GETSPNAM = "1"
        HAVE_GETWD = "1"
        HAVE_GLIBC_MEMMOVE_BUG = "0"
        HAVE_GRP_H = "1"
        HAVE_HSTRERROR = "1"
        HAVE_HTOLE64 = "1"
        HAVE_HYPOT = "1"
        HAVE_IEEEFP_H = "0"
        HAVE_IF_NAMEINDEX = "1"
        HAVE_INET_ATON = "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_LGAMMA = "1"
        HAVE_LIBDL = "1"
        HAVE_LIBDLD = "0"
        HAVE_LIBIEEE = "0"
        HAVE_LIBINTL_H = "1"
        HAVE_LIBREADLINE = "1"
        HAVE_LIBRESOLV = "0"
        HAVE_LIBSENDFILE = "0"
        HAVE_LIBUTIL_H = "0"
        HAVE_LIBUUID = "1"
        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 = "0"
        HAVE_LINUX_CAN_RAW_FD_FRAMES = "1"
        HAVE_LINUX_CAN_RAW_H = "1"
        HAVE_LINUX_CAN_RAW_JOIN_FILTERS = "1"
        HAVE_LINUX_MEMFD_H = "1"
        HAVE_LINUX_NETLINK_H = "1"
        HAVE_LINUX_QRTR_H = "0"
        HAVE_LINUX_RANDOM_H = "1"
        HAVE_LINUX_TIPC_H = "1"
        HAVE_LINUX_VM_SOCKETS_H = "1"
        HAVE_LINUX_WAIT_H = "1"
        HAVE_LOCKF = "1"
        HAVE_LOG1P = "1"
        HAVE_LOG2 = "1"
        HAVE_LONG_DOUBLE = "1"
        HAVE_LSTAT = "1"
        HAVE_LUTIMES = "1"
        HAVE_MADVISE = "1"
        HAVE_MAKEDEV = "1"
        HAVE_MBRTOWC = "1"
        HAVE_MEMFD_CREATE = "0"
        HAVE_MEMORY_H = "1"
        HAVE_MEMRCHR = "1"
        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_NCURSES_H = "1"
        HAVE_NDIR_H = "0"
        HAVE_NETPACKET_PACKET_H = "1"
        HAVE_NET_IF_H = "1"
        HAVE_NICE = "1"
        HAVE_NON_UNICODE_WCHAR_T_REPRESENTATION = "0"
        HAVE_OPENAT = "1"
        HAVE_OPENPTY = "1"
        HAVE_PATHCONF = "1"
        HAVE_PAUSE = "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 = "0"
        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_PTY_H = "1"
        HAVE_PWRITE = "1"
        HAVE_PWRITEV = "1"
        HAVE_PWRITEV2 = "0"
        HAVE_READLINK = "1"
        HAVE_READLINKAT = "1"
        HAVE_READV = "1"
        HAVE_REALPATH = "1"
        HAVE_RENAMEAT = "1"
        HAVE_RL_APPEND_HISTORY = "1"
        HAVE_RL_CATCH_SIGNAL = "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_ROUND = "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 = "0"
        HAVE_SEM_GETVALUE = "1"
        HAVE_SEM_OPEN = "1"
        HAVE_SEM_TIMEDWAIT = "1"
        HAVE_SEM_UNLINK = "1"
        HAVE_SENDFILE = "1"
        HAVE_SETEGID = "1"
        HAVE_SETEUID = "1"
        HAVE_SETGID = "1"
        HAVE_SETGROUPS = "1"
        HAVE_SETHOSTNAME = "1"
        HAVE_SETITIMER = "1"
        HAVE_SETLOCALE = "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_SETUID = "1"
        HAVE_SETVBUF = "1"
        HAVE_SHADOW_H = "1"
        HAVE_SHM_OPEN = "1"
        HAVE_SHM_UNLINK = "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_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_STDARG_PROTOTYPES = "1"
        HAVE_STDINT_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_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 = "0"
        HAVE_SYS_RESOURCE_H = "1"
        HAVE_SYS_SELECT_H = "1"
        HAVE_SYS_SENDFILE_H = "1"
        HAVE_SYS_SOCKET_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_TGAMMA = "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_TZNAME = "0"
        HAVE_UCS4_TCL = "0"
        HAVE_UNAME = "1"
        HAVE_UNISTD_H = "1"
        HAVE_UNLINKAT = "1"
        HAVE_USABLE_WCHAR_T = "0"
        HAVE_UTIL_H = "0"
        HAVE_UTIMENSAT = "1"
        HAVE_UTIMES = "1"
        HAVE_UTIME_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 = "1"
        HAVE_VFORK = "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__GETPTY = "0"
        HOST_GNU_TYPE = "x86_64-conda_cos6-linux-gnu"
        INCLDIRSTOMAKE = "/opt/conda/include /opt/conda/include /opt/conda/include/python3.10 /opt/conda/include/python3.10"
        INCLUDEDIR = "/opt/conda/include"
        INCLUDEPY = "/opt/conda/include/python3.10"
        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.10.a"
        IO_H = "Modules/_io/_iomodule.h"
        IO_OBJS = "\"
        LDCXXSHARED = "g++ -pthread -B /opt/conda/compiler_compat -shared"
        LDFLAGS = "-Wl,-rpath,/opt/conda/lib -Wl,-rpath-link,/opt/conda/lib -L/opt/conda/lib -Wl,-rpath,/opt/conda/lib -Wl,-rpath-link,/opt/conda/lib -L/opt/conda/lib"
        LDLIBRARY = "libpython3.10.a"
        LDLIBRARYDIR = ""
        LDSHARED = "gcc -pthread -B /opt/conda/compiler_compat -shared  -Wl,-rpath,/opt/conda/lib -Wl,-rpath-link,/opt/conda/lib -L/opt/conda/lib -Wl,-rpath,/opt/conda/lib -Wl,-rpath-link,/opt/conda/lib -L/opt/conda/lib"
        LDVERSION = "3.10"
        LIBC = ""
        LIBDEST = "/opt/conda/lib/python3.10"
        LIBDIR = "/opt/conda/lib"
        LIBFFI_INCLUDEDIR = "/opt/conda/include"
        LIBM = "-lm"
        LIBOBJDIR = "Python/"
        LIBOBJS = ""
        LIBPC = "/opt/conda/lib/pkgconfig"
        LIBPL = "/opt/conda/lib/python3.10/config-3.10-x86_64-linux-gnu"
        LIBPYTHON = ""
        LIBRARY = "libpython3.10.a"
        LIBRARY_DEPS = "libpython3.10.a"
        LIBRARY_OBJS = "\"
        LIBRARY_OBJS_OMIT_FROZEN = "\"
        LIBS = "-lcrypt -lpthread -ldl  -lutil -lm"
        LIBSUBDIRS = "asyncio \"
        LINKCC = "gcc -pthread -B /opt/conda/compiler_compat"
        LINKFORSHARED = "-Xlinker -export-dynamic"
        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 = "/opt/conda/lib/python3.10"
        MACOSX_DEPLOYMENT_TARGET = ""
        MAINCC = "gcc -pthread -B /opt/conda/compiler_compat"
        MAJOR_IN_MKDEV = "0"
        MAJOR_IN_SYSMACROS = "0"
        MAKESETUP = "/croot/python-split_1694437906621/work/Modules/makesetup"
        MANDIR = "/opt/conda/share/man"
        MKDIR_P = "/usr/bin/mkdir -p"
        MODBUILT_NAMES = "posix  errno  pwd  _sre  _codecs  _weakref  _functools  _operator  _collections  _abc  itertools  atexit  _signal  _stat  time  _thread  _locale  _io  faulthandler  _tracemalloc  _symtable  xxsubtype"
        MODDISABLED_NAMES = ""
        MODLIBS = ""
        MODOBJS = "Modules/posixmodule.o  Modules/errnomodule.o  Modules/pwdmodule.o  Modules/_sre.o  Modules/_codecsmodule.o  Modules/_weakref.o  Modules/_functoolsmodule.o  Modules/_operator.o  Modules/_collectionsmodule.o  Modules/_abc.o  Modules/itertoolsmodule.o  Modules/atexitmodule.o  Modules/signalmodule.o  Modules/_stat.o  Modules/timemodule.o  Modules/_threadmodule.o  Modules/_localemodule.o  Modules/_iomodule.o Modules/iobase.o Modules/fileio.o Modules/bytesio.o Modules/bufferedio.o Modules/textio.o Modules/stringio.o  Modules/faulthandler.o  Modules/_tracemalloc.o  Modules/symtablemodule.o  Modules/xxsubtype.o"
        MODULE_OBJS = "\"
        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 = "\"
        OPENSSL_INCLUDES = "-I/opt/conda/include"
        OPENSSL_LDFLAGS = "-L/opt/conda/lib"
        OPENSSL_LIBS = "-lssl -lcrypto"
        OPENSSL_RPATH = ""
        OPT = "-DNDEBUG -fwrapv -O2 -Wall"
        OTHER_LIBTOOL_OPT = ""
        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 = ""
        PLATLIBDIR = "lib"
        POBJS = "\"
        POSIX_SEMAPHORES_NOT_ENABLED = "0"
        PROFILE_TASK = "-m test --pgo"
        PTHREAD_KEY_T_IS_COMPATIBLE_WITH_INT = "1"
        PTHREAD_SYSTEM_SCHED_SUPPORTED = "1"
        PURIFY = ""
        PY3LIBRARY = ""
        PYLONG_BITS_IN_DIGIT = "0"
        PYTHON = "python"
        PYTHONFRAMEWORK = ""
        PYTHONFRAMEWORKDIR = "no-framework"
        PYTHONFRAMEWORKINSTALLDIR = ""
        PYTHONFRAMEWORKPREFIX = ""
        PYTHONPATH = ""
        PYTHON_FOR_BUILD = "./python -E"
        PYTHON_FOR_REGEN = ""
        PYTHON_HEADERS = "\"
        PYTHON_OBJS = "\"
        PY_BUILD_ENVIRON = ""
        PY_BUILTIN_HASHLIB_HASHES = ""md5,sha1,sha256,sha512,sha3,blake2""
        PY_BUILTIN_MODULE_CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall   -fPIC  -O2   -isystem /opt/conda/include -fPIC -O2 -isystem /opt/conda/include -fno-semantic-interposition  -g -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden  -I/croot/python-split_1694437906621/work/Include/internal -IObjects -IInclude -IPython -I. -I/croot/python-split_1694437906621/work/Include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /opt/conda/include -I/opt/conda/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /opt/conda/include -I/opt/conda/include -DPy_BUILD_CORE_BUILTIN"
        PY_CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2   -isystem /opt/conda/include -fPIC -O2   -isystem /opt/conda/include "
        PY_CFLAGS_NODIST = "-fno-semantic-interposition   -g -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden   -I/croot/python-split_1694437906621/work/Include/internal"
        PY_COERCE_C_LOCALE = "1"
        PY_CORE_CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall    -fPIC -O2  -isystem /opt/conda/include -fPIC -O2  -isystem /opt/conda/include -fno-semantic-interposition  -g -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden -I/croot/python-split_1694437906621/work/Include/internal -IObjects -IInclude -IPython -I. -I/croot/python-split_1694437906621/work/Include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /opt/conda/include -I/opt/conda/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /opt/conda/include -I/opt/conda/include -DPy_BUILD_CORE"
        PY_CORE_LDFLAGS = "-Wl,-rpath,/opt/conda/lib -Wl,-rpath-link,/opt/conda/lib -L/opt/conda/lib -Wl,-rpath,/opt/conda/lib -Wl,-rpath-link,/opt/conda/lib -L/opt/conda/lib -fno-semantic-interposition   -g"
        PY_CPPFLAGS = "-IObjects -IInclude -IPython -I. -I/croot/python-split_1694437906621/work/Include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /opt/conda/include -I/opt/conda/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /opt/conda/include -I/opt/conda/include"
        PY_ENABLE_SHARED = "0"
        PY_FORMAT_SIZE_T = ""z""
        PY_LDFLAGS = "-Wl,-rpath,/opt/conda/lib -Wl,-rpath-link,/opt/conda/lib -L/opt/conda/lib -Wl,-rpath,/opt/conda/lib -Wl,-rpath-link,/opt/conda/lib -L/opt/conda/lib"
        PY_LDFLAGS_NODIST = "-fno-semantic-interposition   -g"
        PY_SSL_DEFAULT_CIPHERS = "1"
        PY_SSL_DEFAULT_CIPHER_STRING = "0"
        PY_STDMODULE_CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall   -fPIC  -O2   -isystem /opt/conda/include -fPIC -O2 -isystem /opt/conda/include -fno-semantic-interposition   -g -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden  -I/croot/python-split_1694437906621/work/Include/internal -IObjects -IInclude -IPython -I. -I/croot/python-split_1694437906621/work/Include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /opt/conda/include -I/opt/conda/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /opt/conda/include -I/opt/conda/include"
        Py_DEBUG = "0"
        Py_ENABLE_SHARED = "0"
        Py_HASH_ALGORITHM = "0"
        Py_TRACE_REFS = "0"
        QUICKTESTOPTS = "-x test_subprocess test_io test_lib2to3 \"
        READELF = "readelf"
        RESSRCDIR = "Mac/Resources/framework"
        RETSIGTYPE = "void"
        RUNSHARED = ""
        SCRIPTDIR = "/opt/conda/lib"
        SETPGRP_HAVE_ARG = "0"
        SHELL = "/bin/sh"
        SHLIBS = "-lcrypt -lpthread -ldl  -lutil -lm"
        SHLIB_SUFFIX = ".so"
        SHM_NEEDS_LIBRT = "1"
        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"
        SO = ".cpython-310-x86_64-linux-gnu.so"
        SOABI = "cpython-310-x86_64-linux-gnu"
        SRCDIRS = "Parser Objects Python Modules Modules/_io Programs"
        SRC_GDB_HOOKS = "/croot/python-split_1694437906621/work/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"
        TCLTK_INCLUDES = "-I/opt/conda/include"
        TCLTK_LIBS = "-L/opt/conda/lib -ltcl8.6 -ltk8.6"
        TESTOPTS = ""
        TESTPATH = ""
        TESTPYTHON = "./python"
        TESTPYTHONOPTS = ""
        TESTRUNNER = "./python /croot/python-split_1694437906621/work/Tools/scripts/run_tests.py"
        TESTSUBDIRS = "ctypes/test \"
        TESTTIMEOUT = "1200"
        TEST_MODULES = "yes"
        THREAD_STACK_SIZE = "0"
        TIMEMODULE_LIB = "0"
        TIME_WITH_SYS_TIME = "1"
        TM_IN_SYS_TIME = "0"
        TZPATH = "/opt/conda/share/zoneinfo:/opt/conda/share/tzinfo"
        UNICODE_DEPS = "\"
        UNIVERSALSDK = ""
        UPDATE_FILE = "/croot/python-split_1694437906621/work/Tools/scripts/update_file.py"
        USE_COMPUTED_GOTOS = "1"
        VERSION = "3.10"
        VPATH = "/croot/python-split_1694437906621/work"
        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_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 = "/croot/python-split_1694437906621/work/build-static"
        abs_srcdir = "/croot/python-split_1694437906621/work"
        base = "/opt/conda"
        datarootdir = "/opt/conda/share"
        exec_prefix = "/opt/conda"
        installed_base = "/opt/conda"
        installed_platbase = "/opt/conda"
        platbase = "/opt/conda"
        platlibdir = "lib"
        prefix = "/opt/conda"
        projectbase = "/opt/conda/bin"
        py_version = "3.10.13"
        py_version_nodot = "310"
        py_version_nodot_plat = ""
        py_version_short = "3.10"
        srcdir = "/opt/conda/lib/python3.10/config-3.10-x86_64-linux-gnu"
        userbase = "/root/.local"

Example pyproject.toml

[tool.poetry]
name = "cleanrl"
version = "2.0.0b1"
description = "High-quality single file implementation of Deep Reinforcement Learning algorithms with research-friendly features"
authors = ["Costa Huang <[email protected]>"]
packages = [
    { include = "cleanrl" },
    { include = "cleanrl_utils" },
]
keywords = ["reinforcement", "machine", "learning", "research"]
license="MIT"
readme = "README.md"

[tool.poetry.dependencies]
python = ">=3.8,<3.11"
tensorboard = "^2.10.0"
wandb = "^0.13.11"
gym = "0.23.1"
torch = ">=1.12.1"
stable-baselines3 = "2.0.0"
gymnasium = ">=0.28.1"
moviepy = "^1.0.3"
pygame = "2.1.0"
huggingface-hub = "^0.11.1"
rich = "<12.0"
tenacity = "^8.2.2"
tyro = "^0.5.10"
pyyaml = "^6.0.1"

ale-py = {version = "0.8.1", optional = true}
AutoROM = {extras = ["accept-rom-license"], version = "~0.4.2", optional = true}
opencv-python = {version = "^4.6.0.66", optional = true}
procgen = {version = "^0.10.7", optional = true}
pytest = {version = "^7.1.3", optional = true}
mujoco = {version = "<=2.3.3", optional = true}
imageio = {version = "^2.14.1", optional = true}
mkdocs-material = {version = "^8.4.3", optional = true}
markdown-include = {version = "^0.7.0", optional = true}
openrlbenchmark = {version = "^0.1.1b4", optional = true}
jax = {version = "0.4.8", optional = true}
jaxlib = {version = "0.4.7", optional = true}
flax = {version = "0.6.8", optional = true}
optuna = {version = "^3.0.1", optional = true}
optuna-dashboard = {version = "^0.7.2", optional = true}
envpool = {version = "^0.6.4", optional = true}
PettingZoo = {version = "1.18.1", optional = true}
SuperSuit = {version = "3.4.0", optional = true}
multi-agent-ale-py = {version = "0.1.11", optional = true}
boto3 = {version = "^1.24.70", optional = true}
awscli = {version = "^1.31.0", optional = true}
shimmy = {version = ">=1.1.0", optional = true}
dm-control = {version = ">=1.0.10", optional = true}
h5py = {version = ">=3.7.0", optional = true}
optax = {version = "0.1.4", optional = true}
chex = {version = "0.1.5", optional = true}
numpy = ">=1.21.6"

[tool.poetry.group.dev.dependencies]
pre-commit = "^2.20.0"

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

[tool.poetry.extras]
atari = ["ale-py", "AutoROM", "opencv-python", "shimmy"]
procgen = ["procgen"]
plot = ["pandas", "seaborn"]
pytest = ["pytest"]
mujoco = ["mujoco", "imageio"]
jax = ["jax", "jaxlib", "flax"]
docs = ["mkdocs-material", "markdown-include", "openrlbenchmark"]
envpool = ["envpool"]
optuna = ["optuna", "optuna-dashboard"]
pettingzoo = ["PettingZoo", "SuperSuit", "multi-agent-ale-py"]
cloud = ["boto3", "awscli"]
dm_control = ["shimmy", "mujoco", "dm-control", "h5py"]

# dependencies for algorithm variant (useful when you want to run a specific algorithm)
dqn = []
dqn_atari = ["ale-py", "AutoROM", "opencv-python"]
dqn_jax = ["jax", "jaxlib", "flax"]
dqn_atari_jax = [
    "ale-py", "AutoROM", "opencv-python", # atari
    "jax", "jaxlib", "flax" # jax
]
c51 = []
c51_atari = ["ale-py", "AutoROM", "opencv-python"]
c51_jax = ["jax", "jaxlib", "flax"]
c51_atari_jax = [
    "ale-py", "AutoROM", "opencv-python", # atari
    "jax", "jaxlib", "flax" # jax
]
ppo_atari_envpool_xla_jax_scan = [
    "ale-py", "AutoROM", "opencv-python", # atari
    "jax", "jaxlib", "flax", # jax
    "envpool", # envpool
]
qdagger_dqn_atari_impalacnn = [
    "ale-py", "AutoROM", "opencv-python"
]
qdagger_dqn_atari_jax_impalacnn = [
    "ale-py", "AutoROM", "opencv-python", # atari
    "jax", "jaxlib", "flax", # jax
]
[[tool.poetry.source]]
name = "aliyun"
url = "https://mirrors.aliyun.com/pypi/simple"
priority = "primary"

Poetry Runtime Logs

Super large. Can not upload. generated via `poetry install -vvv | tee /tmp/p.log`

root@dsw-498793-6c5c78668-ps57p:/tmp# ll -trh
总计 132M
drwxr-xr-x  1 root root 4.0K  Jan  6 09:21 ../
drwx------  2 root root 4.0K  Jan  6 13:57 tmpfbxagxq5_kernels/
-rw-r--r--  1 root root    0  Jan  6 13:57 wow_what_a_coincidence
-rw-------  1 root root    0  Jan  6 13:57 stdout-stderr---supervisor-oi3so2gc.log
drwx------ 33 root root  12K  Jan  6 13:57 _MEIZhlMUp/
drwx------  3 root root 4.0K  Jan  6 13:57 tmp9omelb31/
-rw-------  1 root root  30K  Jan  6 15:05 stdout-stdout---supervisor-zagcr3vz.log
srwxr-xr-x  1 root root    0  Jan  6 15:05 vscode-ipc-8702339b-3baa-4dfe-8dfd-26f2b4d1d897.sock=
srwxr-xr-x  1 root root    0  Jan  6 15:05 vscode-git-8511e23733.sock=
drwxrwxrwx  5 root root 4.0K  Jan  6 15:33 ./
-rw-r--r--  1 root root 132M  Jan  6 15:34 p.log
@ace-han ace-han added kind/bug Something isn't working as expected status/triage This issue needs to be triaged labels Jan 6, 2025
@dimbleby
Copy link
Contributor

dimbleby commented Jan 6, 2025

poetry 1.8.5 also takes a long time to resolve this one for me.

most likely all that has happened is that the cache format has changed in the new release, so poetry 2.0 cannot use your poetry 1.8.5 cache. In that case the second and subsequent runs will be fast again.

@ace-han
Copy link
Author

ace-han commented Jan 6, 2025

poetry 1.8.5 also takes a long time to resolve this one for me.

most likely all that has happened is that the cache format has changed in the new release, so poetry 2.0 cannot use your poetry 1.8.5 cache. In that case the second and subsequent runs will be fast again.

@dimbleby I was setting up a brand new docker env (no poetry installed before), so the situation you mentioned is not my case.
I tried installing 1.8.5 in another pod instance(dsw-498899-84cf4b4bc5-hg2qz) without poetry installed (2.0.0 was tried in dsw-498793-6c5c78668-ps57p), so that the installation got done in less than 5 minutes

@dimbleby
Copy link
Contributor

dimbleby commented Jan 6, 2025

well then I do not reproduce: poetry 1.8.5 also takes a long time to resolve this one for me (with an empty cache).

I see no difference in the new release.

@dimbleby
Copy link
Contributor

dimbleby commented Jan 6, 2025

either way the usual problem in such cases is awscli / boto3 / botocore - Amazon like to release thousands of versions of the last of these, which can cause resolvers to have to do a lot of backtracking.

Probably if you raise the lower bounds on Amazon-ecosystem dependencies that will reduce your exposure to this.

@dimbleby
Copy link
Contributor

dimbleby commented Jan 6, 2025

Take it back, this actually is a regression - though one complicated by the problem being slow to solve even without the change.

Here is a simplified repro:

[tool.poetry]
name = "foo"
version = "1.0.0"
description = ""
authors = []
keywords = []
license = "MIT"
readme = "README.md"

[tool.poetry.dependencies]
python = ">=3.8,<3.11"
opencv-python = {version = "^4.6.0.66", optional = true}
ale-py = { version = "0.8.1", optional = true }

[tool.poetry.extras]
extra01 = ["ale-py"]
extra02 = ["ale-py"]
extra03 = ["ale-py"]
extra04 = ["ale-py"]
extra05 = ["ale-py"]
extra06 = ["ale-py"]
extra07 = ["ale-py"]
extra08 = ["ale-py"]
extra09 = ["ale-py"]
extra10 = ["ale-py"]
extra11 = ["ale-py"]
extra12 = ["ale-py"]
extra13 = ["ale-py"]
extra14 = ["ale-py"]

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

and we are getting stuck in the new code that wants to maintain markers during resolution so that it can write them to the lock file #9427. Because: the markers that we calculate are long and unwieldy, and converting them to and from CNF and DNF is exponentially expensive

@radoering

@aliberts
Copy link

aliberts commented Jan 10, 2025

Can confirm there seems to be some regression going on.

When generating the lock file from the following pyproject.toml, it takes about 39s with poetry 1.8.5 using poetry lock. Generating the lock file from the same pyproject.toml, poetry lock --regenerate was still running when I killed it at around 1800s (30mn).

Poetry Installation Method: pipx
Operating System: MacOS 15.2
Poetry Version: 2.0.0
Poetry Config:

cache-dir = "/Users/simon/Library/Caches/pypoetry"
installer.max-workers = null
installer.no-binary = null
installer.only-binary = null
installer.parallel = true
installer.re-resolve = true
keyring.enabled = true
requests.max-retries = 0
solver.lazy-wheel = true
system-git-client = false
virtualenvs.create = true
virtualenvs.in-project = null
virtualenvs.options.always-copy = false
virtualenvs.options.no-pip = false
virtualenvs.options.system-site-packages = false
virtualenvs.path = "{cache-dir}/virtualenvs"  # /Users/simon/Library/Caches/pypoetry/virtualenvs
virtualenvs.prompt = "{project_name}-py{python_version}"
virtualenvs.use-poetry-python = false

pyproject.toml
[tool.poetry]
name = "lerobot"
version = "0.1.0"
description = "🤗 LeRobot: State-of-the-art Machine Learning for Real-World Robotics in Pytorch"
authors = [
    "Rémi Cadène <[email protected]>",
    "Simon Alibert <[email protected]>",
    "Alexander Soare <[email protected]>",
    "Quentin Gallouédec <[email protected]>",
    "Adil Zouitine <[email protected]>",
    "Thomas Wolf <[email protected]>",
]
repository = "https://github.com/huggingface/lerobot"
readme = "README.md"
license = "Apache-2.0"
classifiers=[
    "Development Status :: 3 - Alpha",
    "Intended Audience :: Developers",
    "Intended Audience :: Education",
    "Intended Audience :: Science/Research",
    "Topic :: Software Development :: Build Tools",
    "Topic :: Scientific/Engineering :: Artificial Intelligence",
    "License :: OSI Approved :: Apache Software License",
    "Programming Language :: Python :: 3.10",
]
packages = [{include = "lerobot"}]


[tool.poetry.dependencies]
python = ">=3.10,<3.13"
termcolor = ">=2.4.0"
omegaconf = ">=2.3.0"
wandb = ">=0.16.3"
imageio = {extras = ["ffmpeg"], version = ">=2.34.0"}
gdown = ">=5.1.0"
hydra-core = ">=1.3.2"
einops = ">=0.8.0"
pymunk = ">=6.6.0"
zarr = ">=2.17.0"
numba = ">=0.59.0"
torch = ">=2.2.1"
opencv-python = ">=4.9.0"
diffusers = ">=0.27.2"
torchvision = ">=0.17.1"
h5py = ">=3.10.0"
huggingface-hub = {extras = ["hf-transfer", "cli"], version = ">=0.25.2"}
gymnasium = "==0.29.1" # TODO(rcadene, aliberts): Make gym 1.0.0 work
cmake = ">=3.29.0.1"
gym-dora = { git = "https://github.com/dora-rs/dora-lerobot.git", subdirectory = "gym_dora", optional = true }
gym-pusht = { version = ">=0.1.5", optional = true}
gym-xarm = { version = ">=0.1.1", optional = true}
gym-aloha = { version = ">=0.1.1", optional = true}
pre-commit = {version = ">=3.7.0", optional = true}
debugpy = {version = ">=1.8.1", optional = true}
pytest = {version = ">=8.1.0", optional = true}
pytest-cov = {version = ">=5.0.0", optional = true}
datasets = ">=2.19.0"
imagecodecs = { version = ">=2024.1.1", optional = true }
pyav = ">=12.0.5"
rerun-sdk = ">=0.15.1"
deepdiff = ">=7.0.1"
flask = ">=3.0.3"
pandas = {version = ">=2.2.2", optional = true}
scikit-image = {version = ">=0.23.2", optional = true}
dynamixel-sdk = {version = ">=3.7.31", optional = true}
pynput = {version = ">=1.7.7", optional = true}
feetech-servo-sdk = {version = ">=1.0.0", optional = true}
setuptools = {version = "!=71.0.1", optional = true}  # TODO(rcadene, aliberts): 71.0.1 has a bug
pyrealsense2 = {version = ">=2.55.1.6486", markers = "sys_platform != 'darwin'", optional = true}  # TODO(rcadene, aliberts): Fix on Mac
pyrender = {git = "https://github.com/mmatl/pyrender.git", markers = "sys_platform == 'linux'", optional = true}
hello-robot-stretch-body = {version = ">=0.7.27", markers = "sys_platform == 'linux'", optional = true}
pyserial = {version = ">=3.5", optional = true}
jsonlines = ">=4.0.0"


[tool.poetry.extras]
dora = ["gym-dora"]
pusht = ["gym-pusht"]
xarm = ["gym-xarm"]
aloha = ["gym-aloha"]
dev = ["pre-commit", "debugpy"]
test = ["pytest", "pytest-cov", "pyserial"]
umi = ["imagecodecs"]
video_benchmark = ["scikit-image", "pandas"]
dynamixel = ["dynamixel-sdk", "pynput"]
feetech = ["feetech-servo-sdk", "pynput"]
intelrealsense = ["pyrealsense2"]
stretch = ["hello-robot-stretch-body", "pyrender", "pyrealsense2", "pynput"]

[tool.ruff]
line-length = 110
target-version = "py310"
exclude = [
    "tests/data",
    ".bzr",
    ".direnv",
    ".eggs",
    ".git",
    ".git-rewrite",
    ".hg",
    ".mypy_cache",
    ".nox",
    ".pants.d",
    ".pytype",
    ".ruff_cache",
    ".svn",
    ".tox",
    ".venv",
    "__pypackages__",
    "_build",
    "buck-out",
    "build",
    "dist",
    "node_modules",
    "venv",
]


[tool.ruff.lint]
select = ["E4", "E7", "E9", "F", "I", "N", "B", "C4", "SIM"]


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

@radoering
Copy link
Member

You may try #10018. As you can see in the PR description it does not fix the regression, it only mitigates it. The performance might be enough for simpler cases. However, it is also possible that it makes no relevant difference for your use case...

@radoering
Copy link
Member

After investigating the issue a little further, it seems like the performance regression can be fixed (at least for the simplified repro) if we improve extra handling in _merge_single_markers, i.e. support AtomicMultiMarker and AtomicMarkerUnion for extra markers. However, this is a bit tricky without breaking things and requires additional unit tests. I will take a look but it may take a while.

@aliberts
Copy link

@radoering thank you for this update.
I've tried 2.0.1 but doesn't seem to fix it, poetry lock --regenerate was still running after 20mn (with the above pyproject.toml I mentioned)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Something isn't working as expected status/triage This issue needs to be triaged
Projects
None yet
Development

No branches or pull requests

4 participants