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

Exclusive extra markers do not work as expected when the package is a dependency #10120

Open
kikones34 opened this issue Jan 28, 2025 · 4 comments
Labels
kind/bug Something isn't working as expected status/triage This issue needs to be triaged

Comments

@kikones34
Copy link

kikones34 commented Jan 28, 2025

Description

When a package uses extra markers for its dependencies, it works as expected. However, when this package is a dependency of another package, they do not.

Consider the example in the documentation about exclusive extra markers, and modify it slightly to be valid as a package:

`dependency` package `pyproject.toml`
[project]
name = "dependency"
version = "1.0.0"
requires-python = ">=3.10"
dependencies = ["torch ; extra != 'cuda'"]

[project.optional-dependencies]
cuda = ["torch"]

[tool.poetry]
requires-poetry = ">=2.0"

[tool.poetry.dependencies]
torch = [
    { markers = "extra != 'cuda'", source = "pytorch-cpu" },
    { markers = "extra == 'cuda'", source = "pytorch-cuda" },
]

[[tool.poetry.source]]
name = "pytorch-cpu"
url = "https://download.pytorch.org/whl/cpu"
priority = "explicit"

[[tool.poetry.source]]
name = "pytorch-cuda"
url = "https://download.pytorch.org/whl/cu118"
priority = "explicit"

(Note: I also removed the explicit torch versions because it was giving me resolution issues).

When executing poetry sync and poetry sync --extras cuda, Poetry behaves as expected (installs either the CPU or CUDA version of pytorch).

Now, make another package that depends on this package, and "pass through" the cuda extra.

`dependent` package `pyproject.toml`
[project]
name = "dependent"
version = "1.0.0"
requires-python = ">=3.10"
dependencies = ["dependency"]

[project.optional-dependencies]
cuda = ["dependency[cuda]"]

[tool.poetry]
requires-poetry = ">=2.0"

[tool.poetry.dependencies]
dependency = [
    { markers = "extra != 'cuda'", path = "../dependency" },
    { markers = "extra == 'cuda'", path = "../dependency", extras = [
        "cuda",
    ] },
]

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

When executing poetry sync, the dependency package gets installed, but no version of torch gets installed (unexpected). When executing poetry sync --extras cuda, the CUDA version of torch gets installed (expected).

Workarounds

I've been unable to find any workaround after trying for a while.

Poetry Installation Method

pip

Operating System

Ubuntu 22.04.5 LTS

Poetry Version

Poetry (version 2.0.1)

Poetry Configuration

cache-dir = "/home/k34/.cache/pypoetry"
installer.max-workers = null
installer.no-binary = null
installer.only-binary = null
installer.parallel = true
installer.re-resolve = false
keyring.enabled = true
repositories.pytorch-cpu.url = "https://download.pytorch.org/whl/cpu"
repositories.pytorch-cuda.url = "https://download.pytorch.org/whl/cu118"
requests.max-retries = 0
solver.lazy-wheel = true
system-git-client = false
virtualenvs.create = true
virtualenvs.in-project = true
virtualenvs.options.always-copy = false
virtualenvs.options.no-pip = false
virtualenvs.options.system-site-packages = false
virtualenvs.path = "{cache-dir}/virtualenvs"  # /home/k34/.cache/pypoetry/virtualenvs
virtualenvs.prompt = "{project_name}-py{python_version}"
virtualenvs.use-poetry-python = false

Python Sysconfig

sysconfig.log
Platform: "linux-x86_64"
Python version: "3.10"
Current installation scheme: "posix_local"

Paths: 
        data = "/usr/local"
        include = "/usr/include/python3.10"
        platinclude = "/usr/include/python3.10"
        platlib = "/usr/local/lib/python3.10/dist-packages"
        platstdlib = "/usr/lib/python3.10"
        purelib = "/usr/local/lib/python3.10/dist-packages"
        scripts = "/usr/local/bin"
        stdlib = "/usr/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 = "x86_64-linux-gnu-gcc-ar"
        ARFLAGS = "rcs"
        BASECFLAGS = "-Wno-unused-result -Wsign-compare"
        BASECPPFLAGS = "-IObjects -IInclude -IPython"
        BASEMODLIBS = ""
        BINDIR = "/usr/bin"
        BINLIBDEST = "/usr/lib/x86_64-linux-gnu/python3.10"
        BLDLIBRARY = "-lpython3.10"
        BLDSHARED = "x86_64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions      -g -fwrapv -O2   "
        BUILDEXE = ""
        BUILDPYTHON = "python"
        BUILD_GNU_TYPE = "x86_64-pc-linux-gnu"
        BYTESTR_DEPS = "\"
        CC = "x86_64-linux-gnu-gcc"
        CCSHARED = "-fPIC"
        CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g       -fstack-protector-strong -Wformat -Werror=format-security  -g -fwrapv -O2   "
        CFLAGSFORSHARED = "-fPIC"
        CFLAGS_ALIASING = ""
        CFLAGS_NODIST = ""
        CONFIGFILES = "configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in"
        CONFIGURE_CFLAGS = "-g       -fstack-protector-strong -Wformat -Werror=format-security"
        CONFIGURE_CFLAGS_NODIST = "-std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden"
        CONFIGURE_CPPFLAGS = "-Wdate-time -D_FORTIFY_SOURCE=2"
        CONFIGURE_LDFLAGS = "-Wl,-Bsymbolic-functions      -g -fwrapv -O2   "
        CONFIGURE_LDFLAGS_NODIST = ""
        CONFIG_ARGS = "'--enable-shared' '--prefix=/usr' '--libdir=/usr/lib/x86_64-linux-gnu' '--enable-ipv6' '--enable-loadable-sqlite-extensions' '--with-dbmliborder=bdb:gdbm' '--with-computed-gotos' '--without-ensurepip' '--with-system-expat' '--with-dtrace' '--with-system-libmpdec' '--with-wheel-pkg-dir=/usr/share/python-wheels/' 'MKDIR_P=/bin/mkdir -p' '--with-system-ffi' 'CC=x86_64-linux-gnu-gcc' 'CFLAGS=-g       -fstack-protector-strong -Wformat -Werror=format-security ' 'LDFLAGS=-Wl,-Bsymbolic-functions      -g -fwrapv -O2   ' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2'"
        CONFINCLUDEDIR = "/usr/include"
        CONFINCLUDEPY = "/usr/include/python3.10"
        COREPYTHONPATH = ""
        COVERAGE_INFO = "/build/python3.10-uEUykr/python3.10-3.10.12/build-shared/coverage.info"
        COVERAGE_REPORT = "/build/python3.10-uEUykr/python3.10-3.10.12/build-shared/lcov-report"
        COVERAGE_REPORT_OPTIONS = "--no-branch-coverage --title "CPython lcov report""
        CPPFLAGS = "-IObjects -IInclude -IPython -I. -I../Include -Wdate-time -D_FORTIFY_SOURCE=2"
        CXX = "x86_64-linux-gnu-g++"
        DESTDIRS = "/usr /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/python3.10 /usr/lib/python3.10/lib-dynload"
        DESTLIB = "/usr/lib/python3.10"
        DESTPATH = ""
        DESTSHARED = "/usr/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 = "/usr/bin/dtrace"
        DTRACE_DEPS = "\"
        DTRACE_HEADERS = "Include/pydtrace_probes.h"
        DTRACE_OBJS = "Python/pydtrace.o"
        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 = "yes"
        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 = "1"
        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 = "1"
        HAVE_COMPUTED_GOTOS = "1"
        HAVE_CONFSTR = "1"
        HAVE_CONIO_H = "0"
        HAVE_COPYSIGN = "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_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 = "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_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 = "1"
        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 = "1"
        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 = "1"
        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 = "1"
        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 = "1"
        HAVE_MEMORY_H = "0"
        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 = "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_PTY_H = "1"
        HAVE_PWRITE = "1"
        HAVE_PWRITEV = "1"
        HAVE_PWRITEV2 = "1"
        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 = "1"
        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 = "1"
        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 = "0"
        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-pc-linux-gnu"
        INCLDIRSTOMAKE = "/usr/include /usr/include /usr/include/python3.10 /usr/include/python3.10"
        INCLUDEDIR = "/usr/include"
        INCLUDEPY = "/usr/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.so.1.0"
        IO_H = "Modules/_io/_iomodule.h"
        IO_OBJS = "\"
        LDCXXSHARED = "x86_64-linux-gnu-g++ -shared -Wl,-O1 -Wl,-Bsymbolic-functions"
        LDFLAGS = "-Wl,-Bsymbolic-functions      -g -fwrapv -O2   "
        LDFLAGS_NODIST = ""
        LDLIBRARY = "libpython3.10.so"
        LDLIBRARYDIR = ""
        LDSHARED = "x86_64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions      -g -fwrapv -O2   "
        LDVERSION = "3.10"
        LIBC = ""
        LIBDEST = "/usr/lib/python3.10"
        LIBDIR = "/usr/lib/x86_64-linux-gnu"
        LIBFFI_INCLUDEDIR = ""
        LIBM = "-lm"
        LIBOBJDIR = "Python/"
        LIBOBJS = ""
        LIBPC = "/usr/lib/x86_64-linux-gnu/pkgconfig"
        LIBPL = "/usr/lib/python3.10/config-3.10-x86_64-linux-gnu"
        LIBPYTHON = ""
        LIBRARY = "libpython3.10.a"
        LIBRARY_DEPS = "libpython3.10.a libpython3.10.so libpython3.so"
        LIBRARY_OBJS = "\"
        LIBRARY_OBJS_OMIT_FROZEN = "\"
        LIBS = "-lcrypt -ldl  -lm"
        LIBSUBDIRS = "asyncio \"
        LINKCC = "x86_64-linux-gnu-gcc"
        LINKFORSHARED = "-Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions"
        LIPO_32BIT_FLAGS = ""
        LIPO_INTEL64_FLAGS = ""
        LLVM_PROF_ERR = "no"
        LLVM_PROF_FILE = ""
        LLVM_PROF_MERGER = "true"
        LN = "ln"
        LOCALMODLIBS = "-lexpat                       -L/usr/lib -lz                       -lexpat"
        MACHDEP = "linux"
        MACHDEP_OBJS = ""
        MACHDESTLIB = "/usr/lib/x86_64-linux-gnu/python3.10"
        MACOSX_DEPLOYMENT_TARGET = ""
        MAINCC = "x86_64-linux-gnu-gcc"
        MAJOR_IN_MKDEV = "0"
        MAJOR_IN_SYSMACROS = "1"
        MAKESETUP = "../Modules/makesetup"
        MANDIR = "/usr/share/man"
        MKDIR_P = "/bin/mkdir -p"
        MODBUILT_NAMES = "array  cmath  math  _struct  _random  _elementtree  _pickle  _datetime  _bisect  _heapq  _statistics  unicodedata  fcntl  spwd  grp  select  _csv  _socket  _posixsubprocess  _md5  _sha1  _sha256  _sha512  _sha3  _blake2  syslog  binascii  zlib  posix  errno  pwd  _sre  _codecs  _weakref  _functools  _operator  _collections  _abc  itertools  atexit  _signal  _stat  time  _thread  _locale  _io  faulthandler  _tracemalloc  _symtable  pyexpat  xxsubtype"
        MODDISABLED_NAMES = ""
        MODLIBS = "-lexpat                       -L/usr/lib -lz                       -lexpat"
        MODOBJS = "$(sort   Modules/arraymodule.o  Modules/cmathmodule.o Modules/_math.o  Modules/mathmodule.o Modules/_math.o  Modules/_struct.o  Modules/_randommodule.o  Modules/_elementtree.o  Modules/_pickle.o  Modules/_datetimemodule.o  Modules/_bisectmodule.o  Modules/_heapqmodule.o  Modules/_statisticsmodule.o  Modules/unicodedata.o  Modules/fcntlmodule.o  Modules/spwdmodule.o  Modules/grpmodule.o  Modules/selectmodule.o  Modules/_csv.o  Modules/socketmodule.o  Modules/_posixsubprocess.o  Modules/md5module.o  Modules/sha1module.o  Modules/sha256module.o  Modules/sha512module.o  Modules/sha3module.o  Modules/blake2module.o Modules/blake2b_impl.o Modules/blake2s_impl.o  Modules/syslogmodule.o  Modules/binascii.o  Modules/zlibmodule.o  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/pyexpat.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 = ""
        OPENSSL_LDFLAGS = ""
        OPENSSL_LIBS = "-lssl -lcrypto"
        OPENSSL_RPATH = ""
        OPT = "-DNDEBUG -g -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 --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_REGEN = ""
        PYTHON_HEADERS = "\"
        PYTHON_OBJS = "\"
        PY_BUILTIN_HASHLIB_HASHES = ""md5,sha1,sha256,sha512,sha3,blake2""
        PY_BUILTIN_MODULE_CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g       -fstack-protector-strong -Wformat -Werror=format-security  -g -fwrapv -O2    -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I../Include/internal -IObjects -IInclude -IPython -I. -I../Include -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPy_BUILD_CORE_BUILTIN"
        PY_CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g       -fstack-protector-strong -Wformat -Werror=format-security  -g -fwrapv -O2   "
        PY_CFLAGS_NODIST = "-std=c99 -Wextra -Wno-unused-result -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 = "-Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g       -fstack-protector-strong -Wformat -Werror=format-security  -g -fwrapv -O2    -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I../Include/internal -IObjects -IInclude -IPython -I. -I../Include -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPy_BUILD_CORE"
        PY_CORE_LDFLAGS = "-Wl,-Bsymbolic-functions      -g -fwrapv -O2   "
        PY_CPPFLAGS = "-IObjects -IInclude -IPython -I. -I../Include -Wdate-time -D_FORTIFY_SOURCE=2"
        PY_ENABLE_SHARED = "1"
        PY_FORMAT_SIZE_T = ""z""
        PY_LDFLAGS = "-Wl,-Bsymbolic-functions      -g -fwrapv -O2   "
        PY_LDFLAGS_NODIST = ""
        PY_SSL_DEFAULT_CIPHERS = "1"
        PY_SSL_DEFAULT_CIPHER_STRING = "0"
        PY_STDMODULE_CFLAGS = "-Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g       -fstack-protector-strong -Wformat -Werror=format-security  -g -fwrapv -O2    -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I../Include/internal -IObjects -IInclude -IPython -I. -I../Include -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC"
        Py_DEBUG = "0"
        Py_ENABLE_SHARED = "1"
        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 = "LD_LIBRARY_PATH=/build/python3.10-uEUykr/python3.10-3.10.12/build-shared"
        SCRIPTDIR = "/usr/lib"
        SETPGRP_HAVE_ARG = "0"
        SHELL = "/bin/sh"
        SHLIBS = "-lcrypt -ldl  -lm"
        SHLIB_SUFFIX = ".so"
        SHM_NEEDS_LIBRT = "0"
        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 = "../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/usr/include/tcl8.6"
        TCLTK_LIBS = "-ltk8.6 -ltkstub8.6 -ltcl8.6 -ltclstub8.6"
        TESTOPTS = ""
        TESTPATH = ""
        TESTPYTHON = "LD_LIBRARY_PATH=/build/python3.10-uEUykr/python3.10-3.10.12/build-shared ./python"
        TESTPYTHONOPTS = ""
        TESTRUNNER = "LD_LIBRARY_PATH=/build/python3.10-uEUykr/python3.10-3.10.12/build-shared ./python ../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 = "/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/etc/zoneinfo"
        UNICODE_DEPS = "\"
        UNIVERSALSDK = ""
        UPDATE_FILE = "../Tools/scripts/update_file.py"
        USE_COMPUTED_GOTOS = "1"
        VERSION = "3.10"
        VPATH = ".."
        WHEEL_PKG_DIR = "/usr/share/python-wheels/"
        WINDOW_HAS_FLAGS = "1"
        WITH_DECIMAL_CONTEXTVAR = "1"
        WITH_DOC_STRINGS = "1"
        WITH_DTRACE = "1"
        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 = "/build/python3.10-uEUykr/python3.10-3.10.12/build-shared"
        abs_srcdir = "/build/python3.10-uEUykr/python3.10-3.10.12/build-shared/.."
        base = "/usr"
        datarootdir = "/usr/share"
        exec_prefix = "/usr"
        installed_base = "/usr"
        installed_platbase = "/usr"
        multiarchsubdir = "/x86_64-linux-gnu"
        platbase = "/usr"
        platlibdir = "lib"
        prefix = "/usr"
        projectbase = "/usr/bin"
        py_version = "3.10.12"
        py_version_nodot = "310"
        py_version_nodot_plat = ""
        py_version_short = "3.10"
        srcdir = "/usr/lib/python3.10/config-3.10-x86_64-linux-gnu"
        userbase = "/home/k34/.local"

Example pyproject.toml

See description.

Poetry Runtime Logs

poetry -vvv sync
Loading configuration file /home/k34/.config/pypoetry/config.toml
Adding repository pytorch-cpu (https://download.pytorch.org/whl/cpu) and setting it as explicit
Adding repository pytorch-cuda (https://download.pytorch.org/whl/cu118) and setting it as explicit
Trying to detect current active python executable as specified in the config.
Found: /usr/bin/python
Trying to detect current active python executable as specified in the config.
Found: /usr/bin/python
Creating virtualenv dependent in /home/k34/repos/internal/trio-cloud-search/dependent/.venv
[virtualenv:virtualenv.discovery.builtin] find interpreter for spec PythonSpec(path=/usr/bin/python3.12)
[virtualenv:virtualenv.info] filesystem is case-sensitive
[filelock:filelock] Attempting to acquire lock 140371187234096 on /home/k34/.local/share/virtualenv/py_info/1/8a94588eda9d64d9e9a351ab8144e55b1fabf5113b54e67dd26a8c27df0381b3.lock
[filelock:filelock] Lock 140371187234096 acquired on /home/k34/.local/share/virtualenv/py_info/1/8a94588eda9d64d9e9a351ab8144e55b1fabf5113b54e67dd26a8c27df0381b3.lock
[virtualenv:virtualenv.app_data.via_disk_folder] got python info of %s from (PosixPath('/usr/bin/python3.10'), PosixPath('/home/k34/.local/share/virtualenv/py_info/1/8a94588eda9d64d9e9a351ab8144e55b1fabf5113b54e67dd26a8c27df0381b3.json'))
[filelock:filelock] Attempting to release lock 140371187234096 on /home/k34/.local/share/virtualenv/py_info/1/8a94588eda9d64d9e9a351ab8144e55b1fabf5113b54e67dd26a8c27df0381b3.lock
[filelock:filelock] Lock 140371187234096 released on /home/k34/.local/share/virtualenv/py_info/1/8a94588eda9d64d9e9a351ab8144e55b1fabf5113b54e67dd26a8c27df0381b3.lock
[virtualenv:virtualenv.discovery.builtin] proposed PythonInfo(spec=CPython3.10.12.final.0-64, exe=/usr/bin/python3.10, platform=linux, version='3.10.12 (main, Jan 17 2025, 14:35:34) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
[virtualenv:virtualenv.discovery.builtin] accepted PythonInfo(spec=CPython3.10.12.final.0-64, exe=/usr/bin/python3.10, platform=linux, version='3.10.12 (main, Jan 17 2025, 14:35:34) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
[virtualenv:virtualenv.run.session] create virtual environment via CPython3Posix(dest=/home/k34/repos/internal/trio-cloud-search/dependent/.venv, clear=False, no_vcs_ignore=False, global=False)
[virtualenv:virtualenv.util.path._sync] create folder /home/k34/repos/internal/trio-cloud-search/dependent/.venv/bin
[virtualenv:virtualenv.util.path._sync] create folder /home/k34/repos/internal/trio-cloud-search/dependent/.venv/lib/python3.10/site-packages
[virtualenv:virtualenv.create.pyenv_cfg] write /home/k34/repos/internal/trio-cloud-search/dependent/.venv/pyvenv.cfg
[virtualenv:virtualenv.create.pyenv_cfg]        home = /usr/bin
[virtualenv:virtualenv.create.pyenv_cfg]        implementation = CPython
[virtualenv:virtualenv.create.pyenv_cfg]        version_info = 3.10.12.final.0
[virtualenv:virtualenv.create.pyenv_cfg]        virtualenv = 20.28.1
[virtualenv:virtualenv.create.pyenv_cfg]        include-system-site-packages = false
[virtualenv:virtualenv.create.pyenv_cfg]        base-prefix = /usr
[virtualenv:virtualenv.create.pyenv_cfg]        base-exec-prefix = /usr
[virtualenv:virtualenv.create.pyenv_cfg]        base-executable = /usr/bin/python3.10
[virtualenv:virtualenv.util.path._sync] symlink /usr/bin/python3.10 to /home/k34/repos/internal/trio-cloud-search/dependent/.venv/bin/python
[virtualenv:virtualenv.create.via_global_ref.api] create virtualenv import hook file /home/k34/repos/internal/trio-cloud-search/dependent/.venv/lib/python3.10/site-packages/_virtualenv.pth
[virtualenv:virtualenv.create.via_global_ref.api] create /home/k34/repos/internal/trio-cloud-search/dependent/.venv/lib/python3.10/site-packages/_virtualenv.py
[virtualenv:virtualenv.run.session] ============================== target debug ==============================
[virtualenv:virtualenv.create.creator] debug via /home/k34/repos/internal/trio-cloud-search/dependent/.venv/bin/python /home/k34/.local/lib/python3.12/site-packages/virtualenv/create/debug.py
[virtualenv:virtualenv.run.session] {
[virtualenv:virtualenv.run.session]   "sys": {
[virtualenv:virtualenv.run.session]     "executable": "/home/k34/repos/internal/trio-cloud-search/dependent/.venv/bin/python",
[virtualenv:virtualenv.run.session]     "_base_executable": "/home/k34/repos/internal/trio-cloud-search/dependent/.venv/bin/python",
[virtualenv:virtualenv.run.session]     "prefix": "/home/k34/repos/internal/trio-cloud-search/dependent/.venv",
[virtualenv:virtualenv.run.session]     "base_prefix": "/usr",
[virtualenv:virtualenv.run.session]     "real_prefix": null,
[virtualenv:virtualenv.run.session]     "exec_prefix": "/home/k34/repos/internal/trio-cloud-search/dependent/.venv",
[virtualenv:virtualenv.run.session]     "base_exec_prefix": "/usr",
[virtualenv:virtualenv.run.session]     "path": [
[virtualenv:virtualenv.run.session]       "/usr/lib/python310.zip",
[virtualenv:virtualenv.run.session]       "/usr/lib/python3.10",
[virtualenv:virtualenv.run.session]       "/usr/lib/python3.10/lib-dynload",
[virtualenv:virtualenv.run.session]       "/home/k34/repos/internal/trio-cloud-search/dependent/.venv/lib/python3.10/site-packages"
[virtualenv:virtualenv.run.session]     ],
[virtualenv:virtualenv.run.session]     "meta_path": [
[virtualenv:virtualenv.run.session]       "<class '_virtualenv._Finder'>",
[virtualenv:virtualenv.run.session]       "<class '_frozen_importlib.BuiltinImporter'>",
[virtualenv:virtualenv.run.session]       "<class '_frozen_importlib.FrozenImporter'>",
[virtualenv:virtualenv.run.session]       "<class '_frozen_importlib_external.PathFinder'>"
[virtualenv:virtualenv.run.session]     ],
[virtualenv:virtualenv.run.session]     "fs_encoding": "utf-8",
[virtualenv:virtualenv.run.session]     "io_encoding": "utf-8"
[virtualenv:virtualenv.run.session]   },
[virtualenv:virtualenv.run.session]   "version": "3.10.12 (main, Jan 17 2025, 14:35:34) [GCC 11.4.0]",
[virtualenv:virtualenv.run.session]   "makefile_filename": "/usr/lib/python3.10/config-3.10-x86_64-linux-gnu/Makefile",
[virtualenv:virtualenv.run.session]   "os": "<module 'os' from '/usr/lib/python3.10/os.py'>",
[virtualenv:virtualenv.run.session]   "site": "<module 'site' from '/usr/lib/python3.10/site.py'>",
[virtualenv:virtualenv.run.session]   "datetime": "<module 'datetime' from '/usr/lib/python3.10/datetime.py'>",
[virtualenv:virtualenv.run.session]   "math": "<module 'math' (built-in)>",
[virtualenv:virtualenv.run.session]   "json": "<module 'json' from '/usr/lib/python3.10/json/__init__.py'>"
[virtualenv:virtualenv.run.session] }
[virtualenv:virtualenv.run.session] add seed packages via FromAppData(download=False, pip=bundle, via=copy, app_data_dir=/home/k34/.local/share/virtualenv)
[virtualenv:virtualenv.app_data.via_disk_folder] got embed update of distribution %s from ('pip', PosixPath('/home/k34/.local/share/virtualenv/wheel/3.10/embed/3/pip.json'))
[virtualenv:virtualenv.seed.embed.via_app_data.via_app_data] install pip from wheel /home/k34/.local/lib/python3.12/site-packages/virtualenv/seed/wheels/embed/pip-24.3.1-py3-none-any.whl via CopyPipInstall
[filelock:filelock] Attempting to acquire lock 140371186795632 on /home/k34/.local/share/virtualenv/wheel/3.10/image/1/CopyPipInstall/pip-24.3.1-py3-none-any.lock
[filelock:filelock] Lock 140371186795632 acquired on /home/k34/.local/share/virtualenv/wheel/3.10/image/1/CopyPipInstall/pip-24.3.1-py3-none-any.lock
[filelock:filelock] Attempting to release lock 140371186795632 on /home/k34/.local/share/virtualenv/wheel/3.10/image/1/CopyPipInstall/pip-24.3.1-py3-none-any.lock
[filelock:filelock] Lock 140371186795632 released on /home/k34/.local/share/virtualenv/wheel/3.10/image/1/CopyPipInstall/pip-24.3.1-py3-none-any.lock
[virtualenv:virtualenv.util.path._sync] copy directory /home/k34/.local/share/virtualenv/wheel/3.10/image/1/CopyPipInstall/pip-24.3.1-py3-none-any/pip-24.3.1.dist-info to /home/k34/repos/internal/trio-cloud-search/dependent/.venv/lib/python3.10/site-packages/pip-24.3.1.dist-info
[virtualenv:virtualenv.util.path._sync] copy directory /home/k34/.local/share/virtualenv/wheel/3.10/image/1/CopyPipInstall/pip-24.3.1-py3-none-any/pip to /home/k34/repos/internal/trio-cloud-search/dependent/.venv/lib/python3.10/site-packages/pip
[virtualenv:virtualenv.util.path._sync] copy /home/k34/.local/share/virtualenv/wheel/3.10/image/1/CopyPipInstall/pip-24.3.1-py3-none-any/pip-24.3.1.virtualenv to /home/k34/repos/internal/trio-cloud-search/dependent/.venv/lib/python3.10/site-packages/pip-24.3.1.virtualenv
[distlib:distlib.util] changing mode of /home/k34/repos/internal/trio-cloud-search/dependent/.venv/bin/pip3 to 755
[distlib:distlib.util] changing mode of /home/k34/repos/internal/trio-cloud-search/dependent/.venv/bin/pip-3.10 to 755
[distlib:distlib.util] changing mode of /home/k34/repos/internal/trio-cloud-search/dependent/.venv/bin/pip to 755
[distlib:distlib.util] changing mode of /home/k34/repos/internal/trio-cloud-search/dependent/.venv/bin/pip3.10 to 755
[virtualenv:virtualenv.seed.embed.via_app_data.pip_install.base] generated console scripts pip-3.10 pip pip3 pip3.10
[virtualenv:virtualenv.run.session] add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
[virtualenv:virtualenv.create.pyenv_cfg] write /home/k34/repos/internal/trio-cloud-search/dependent/.venv/pyvenv.cfg
[virtualenv:virtualenv.create.pyenv_cfg]        home = /usr/bin
[virtualenv:virtualenv.create.pyenv_cfg]        implementation = CPython
[virtualenv:virtualenv.create.pyenv_cfg]        version_info = 3.10.12.final.0
[virtualenv:virtualenv.create.pyenv_cfg]        virtualenv = 20.28.1
[virtualenv:virtualenv.create.pyenv_cfg]        include-system-site-packages = false
[virtualenv:virtualenv.create.pyenv_cfg]        base-prefix = /usr
[virtualenv:virtualenv.create.pyenv_cfg]        base-exec-prefix = /usr
[virtualenv:virtualenv.create.pyenv_cfg]        base-executable = /usr/bin/python3.10
[virtualenv:virtualenv.create.pyenv_cfg]        prompt = dependent-py3.10
Using virtualenv: /home/k34/repos/internal/trio-cloud-search/dependent/.venv
Updating dependencies
Resolving dependencies...
   1: fact: dependent is 1.0.0
   1: derived: dependent
   0: Duplicate dependencies for dependency
   1: fact: dependent depends on dependency (1.0.0)
   1: fact: dependent depends on dependency[cuda] (1.0.0)
   1: selecting dependent (1.0.0)
   1: derived: dependency[cuda] (1.0.0) @ file:///home/k34/repos/internal/trio-cloud-search/dependency
   1: derived: dependency (1.0.0) @ file:///home/k34/repos/internal/trio-cloud-search/dependency
   0: Duplicate dependencies for torch
   0: Merging requirements for torch
   1: fact: dependency[cuda] (1.0.0) depends on dependency (1.0.0)
   1: fact: dependency[cuda] (1.0.0) depends on torch (*)
   1: selecting dependency[cuda] (1.0.0 /home/k34/repos/internal/trio-cloud-search/dependency)
   1: derived: torch
Checking if keyring is available
[keyring:keyring.backend] Loading KWallet
[keyring:keyring.backend] Loading SecretService
[keyring:keyring.backend] Loading Windows
[keyring:keyring.backend] Loading chainer
[keyring:keyring.backend] Loading libsecret
[keyring:keyring.backend] Loading macOS
Backend 'fail Keyring' is not suitable
No valid keyring backend was found
Creating new session for pypi.org
[urllib3:urllib3.connectionpool] Starting new HTTPS connection (1): pypi.org:443
[urllib3:urllib3.connectionpool] https://pypi.org:443 "GET /simple/torch/ HTTP/1.1" 304 0
[filelock:filelock] Attempting to acquire lock 140371174586944 on /home/k34/.cache/pypoetry/cache/repositories/PyPI/_http/9/1/c/e/7/91ce7207f0e2688c725f5948ca7d56a6dfd1afa303f1db238eaf6879.lock
[filelock:filelock] Lock 140371174586944 acquired on /home/k34/.cache/pypoetry/cache/repositories/PyPI/_http/9/1/c/e/7/91ce7207f0e2688c725f5948ca7d56a6dfd1afa303f1db238eaf6879.lock
[filelock:filelock] Attempting to release lock 140371174586944 on /home/k34/.cache/pypoetry/cache/repositories/PyPI/_http/9/1/c/e/7/91ce7207f0e2688c725f5948ca7d56a6dfd1afa303f1db238eaf6879.lock
[filelock:filelock] Lock 140371174586944 released on /home/k34/.cache/pypoetry/cache/repositories/PyPI/_http/9/1/c/e/7/91ce7207f0e2688c725f5948ca7d56a6dfd1afa303f1db238eaf6879.lock
Source (PyPI): 38 packages found for torch *
   1: selecting dependency (1.0.0 /home/k34/repos/internal/trio-cloud-search/dependency)
   1: fact: torch (2.5.1) depends on filelock (*)
   1: fact: torch (2.5.1) depends on typing-extensions (>=4.8.0)
   1: fact: torch (2.5.1) depends on networkx (*)
   1: fact: torch (2.5.1) depends on jinja2 (*)
   1: fact: torch (2.5.1) depends on fsspec (*)
   1: fact: torch (2.5.1) depends on nvidia-cuda-nvrtc-cu12 (12.4.127)
   1: fact: torch (2.5.1) depends on nvidia-cuda-runtime-cu12 (12.4.127)
   1: fact: torch (2.5.1) depends on nvidia-cuda-cupti-cu12 (12.4.127)
   1: fact: torch (2.5.1) depends on nvidia-cudnn-cu12 (9.1.0.70)
   1: fact: torch (2.5.1) depends on nvidia-cublas-cu12 (12.4.5.8)
   1: fact: torch (2.5.1) depends on nvidia-cufft-cu12 (11.2.1.3)
   1: fact: torch (2.5.1) depends on nvidia-curand-cu12 (10.3.5.147)
   1: fact: torch (2.5.1) depends on nvidia-cusolver-cu12 (11.6.1.9)
   1: fact: torch (2.5.1) depends on nvidia-cusparse-cu12 (12.3.1.170)
   1: fact: torch (2.5.1) depends on nvidia-nccl-cu12 (2.21.5)
   1: fact: torch (2.5.1) depends on nvidia-nvtx-cu12 (12.4.127)
   1: fact: torch (2.5.1) depends on nvidia-nvjitlink-cu12 (12.4.127)
   1: fact: torch (2.5.1) depends on triton (3.1.0)
   1: fact: torch (2.5.1) depends on setuptools (*)
   1: fact: torch (2.5.1) depends on sympy (1.13.1)
   1: selecting torch (2.5.1)
   1: derived: sympy (==1.13.1)
   1: derived: setuptools
   1: derived: triton (==3.1.0)
   1: derived: nvidia-nvjitlink-cu12 (==12.4.127)
   1: derived: nvidia-nvtx-cu12 (==12.4.127)
   1: derived: nvidia-nccl-cu12 (==2.21.5)
   1: derived: nvidia-cusparse-cu12 (==12.3.1.170)
   1: derived: nvidia-cusolver-cu12 (==11.6.1.9)
   1: derived: nvidia-curand-cu12 (==10.3.5.147)
   1: derived: nvidia-cufft-cu12 (==11.2.1.3)
   1: derived: nvidia-cublas-cu12 (==12.4.5.8)
   1: derived: nvidia-cudnn-cu12 (==9.1.0.70)
   1: derived: nvidia-cuda-cupti-cu12 (==12.4.127)
   1: derived: nvidia-cuda-runtime-cu12 (==12.4.127)
   1: derived: nvidia-cuda-nvrtc-cu12 (==12.4.127)
   1: derived: fsspec
   1: derived: jinja2
   1: derived: networkx
   1: derived: typing-extensions (>=4.8.0)
   1: derived: filelock
Skipping url (https://files.pythonhosted.org/packages/f9/77/884c7b486953c044055ce4223f97b1d6c19674a6698e04cbb4a610337041/sympy-0.7.2-py3.2.tar.gz) due to invalid version (None)
Skipping url (https://files.pythonhosted.org/packages/16/4d/d2ff189120289b8be43145d0f00c2ebcba46c8aac0ab68eef2d6e7dc2753/sympy-0.7.2-py3.3.tar.gz) due to invalid version (None)
Skipping url (https://files.pythonhosted.org/packages/9c/10/31fba5f4a67454bc21495a953ceafb117998dddb04fdd46c7d566b94e1e3/sympy-0.7.3-py2.5.tar.gz) due to invalid version (None)
Skipping url (https://files.pythonhosted.org/packages/1a/6c/e7f64d76415e719a6439fc2d3626b3aab176065be7f329f6223fad17bb72/sympy-0.7.3-py2.6.tar.gz) due to invalid version (None)
Skipping url (https://files.pythonhosted.org/packages/22/51/db47b12df63ef13e630ec0365269fcb02eb2724ac0a418ca31aedb7e5940/sympy-0.7.3-py2.7.tar.gz) due to invalid version (None)
Skipping url (https://files.pythonhosted.org/packages/e6/3f/83229a9c84253096fbeb5aba728db0dea9c65bdd453e606c4feecd005bb3/sympy-0.7.3-py3.2.tar.gz) due to invalid version (None)
Skipping url (https://files.pythonhosted.org/packages/31/4c/eb5340171866063924799cb7354e4d046c4634170eb2a337191b68227557/sympy-0.7.3-py3.3.tar.gz) due to invalid version (None)
Source (PyPI): 1 packages found for sympy 1.13.1
Source (PyPI): 564 packages found for setuptools *
Source (PyPI): 1 packages found for triton 3.1.0
Source (PyPI): 1 packages found for nvidia-nvjitlink-cu12 12.4.127
Source (PyPI): 1 packages found for nvidia-nvtx-cu12 12.4.127
Source (PyPI): 1 packages found for nvidia-nccl-cu12 2.21.5
Source (PyPI): 1 packages found for nvidia-cusparse-cu12 12.3.1.170
Source (PyPI): 1 packages found for nvidia-cusolver-cu12 11.6.1.9
Source (PyPI): 1 packages found for nvidia-curand-cu12 10.3.5.147
Source (PyPI): 1 packages found for nvidia-cufft-cu12 11.2.1.3
Source (PyPI): 1 packages found for nvidia-cublas-cu12 12.4.5.8
Source (PyPI): 1 packages found for nvidia-cudnn-cu12 9.1.0.70
Source (PyPI): 1 packages found for nvidia-cuda-cupti-cu12 12.4.127
Source (PyPI): 1 packages found for nvidia-cuda-runtime-cu12 12.4.127
Source (PyPI): 1 packages found for nvidia-cuda-nvrtc-cu12 12.4.127
Source (PyPI): 83 packages found for fsspec *
Source (PyPI): 47 packages found for jinja2 *
Source (PyPI): 49 packages found for networkx *
Source (PyPI): 7 packages found for typing-extensions >=4.8.0
Source (PyPI): 73 packages found for filelock *
   1: selecting fsspec (2024.12.0)
   1: selecting filelock (3.17.0)
   1: selecting networkx (3.4.2)
   1: fact: jinja2 (3.1.5) depends on MarkupSafe (>=2.0)
   1: selecting jinja2 (3.1.5)
   1: derived: MarkupSafe (>=2.0)
Source (PyPI): 11 packages found for markupsafe >=2.0
   1: selecting markupsafe (3.0.2)
   1: selecting typing-extensions (4.12.2)
   1: fact: sympy (1.13.1) depends on mpmath (>=1.1.0,<1.4)
   1: selecting sympy (1.13.1)
   1: derived: mpmath (>=1.1.0,<1.4)
Skipping url (https://files.pythonhosted.org/packages/66/ab/bba2d8854ff49ed60be91073553e8aa22aa3ee3d5f767275d153cabe806a/mpmath-0.4.src.zip) due to invalid version (None)
Source (PyPI): 3 packages found for mpmath >=1.1.0,<1.4
   1: selecting mpmath (1.3.0)
   1: fact: triton (3.1.0) depends on filelock (*)
   1: selecting triton (3.1.0)
   1: selecting nvidia-nvjitlink-cu12 (12.4.127)
   1: selecting nvidia-nvtx-cu12 (12.4.127)
   1: selecting nvidia-nccl-cu12 (2.21.5)
   1: fact: nvidia-cusparse-cu12 (12.3.1.170) depends on nvidia-nvjitlink-cu12 (*)
   1: selecting nvidia-cusparse-cu12 (12.3.1.170)
   1: fact: nvidia-cusolver-cu12 (11.6.1.9) depends on nvidia-cublas-cu12 (*)
   1: fact: nvidia-cusolver-cu12 (11.6.1.9) depends on nvidia-nvjitlink-cu12 (*)
   1: fact: nvidia-cusolver-cu12 (11.6.1.9) depends on nvidia-cusparse-cu12 (*)
   1: selecting nvidia-cusolver-cu12 (11.6.1.9)
   1: selecting nvidia-curand-cu12 (10.3.5.147)
   1: fact: nvidia-cufft-cu12 (11.2.1.3) depends on nvidia-nvjitlink-cu12 (*)
   1: selecting nvidia-cufft-cu12 (11.2.1.3)
   1: selecting nvidia-cublas-cu12 (12.4.5.8)
   1: fact: nvidia-cudnn-cu12 (9.1.0.70) depends on nvidia-cublas-cu12 (*)
   1: selecting nvidia-cudnn-cu12 (9.1.0.70)
   1: selecting nvidia-cuda-cupti-cu12 (12.4.127)
   1: selecting nvidia-cuda-runtime-cu12 (12.4.127)
   1: selecting nvidia-cuda-nvrtc-cu12 (12.4.127)
   1: selecting setuptools (75.8.0)
   1: Version solving took 1.431 seconds.
   1: Tried 1 solutions.

Finding the necessary packages for the current system

Package operations: 1 install, 0 updates, 0 removals, 23 skipped

  - Installing nvidia-nvjitlink-cu12 (12.4.127): Pending...
  - Installing nvidia-nvjitlink-cu12 (12.4.127): Skipped for the following reason: Not required
  - Installing filelock (3.17.0): Pending...
  - Installing filelock (3.17.0): Skipped for the following reason: Not required
  - Installing markupsafe (3.0.2): Pending...
  - Installing markupsafe (3.0.2): Skipped for the following reason: Not required
  - Installing mpmath (1.3.0): Pending...
  - Installing mpmath (1.3.0): Skipped for the following reason: Not required
  - Installing nvidia-cublas-cu12 (12.4.5.8): Pending...
  - Installing nvidia-cublas-cu12 (12.4.5.8): Skipped for the following reason: Not required
  - Installing nvidia-cusparse-cu12 (12.3.1.170): Pending...
  - Installing nvidia-cusparse-cu12 (12.3.1.170): Skipped for the following reason: Not required
  - Installing fsspec (2024.12.0): Pending...
  - Installing fsspec (2024.12.0): Skipped for the following reason: Not required
  - Installing jinja2 (3.1.5): Pending...
  - Installing jinja2 (3.1.5): Skipped for the following reason: Not required
  - Installing nvidia-cuda-cupti-cu12 (12.4.127): Pending...
  - Installing nvidia-cuda-cupti-cu12 (12.4.127): Skipped for the following reason: Not required
  - Installing nvidia-cuda-nvrtc-cu12 (12.4.127): Pending...
  - Installing nvidia-cuda-nvrtc-cu12 (12.4.127): Skipped for the following reason: Not required
  - Installing nvidia-cuda-runtime-cu12 (12.4.127): Pending...
  - Installing nvidia-cuda-runtime-cu12 (12.4.127): Skipped for the following reason: Not required
  - Installing networkx (3.4.2): Pending...
  - Installing networkx (3.4.2): Skipped for the following reason: Not required
  - Installing nvidia-curand-cu12 (10.3.5.147): Pending...
  - Installing nvidia-curand-cu12 (10.3.5.147): Skipped for the following reason: Not required
  - Installing nvidia-nccl-cu12 (2.21.5): Pending...
  - Installing nvidia-nccl-cu12 (2.21.5): Skipped for the following reason: Not required
  - Installing nvidia-nvtx-cu12 (12.4.127): Pending...
  - Installing nvidia-nvtx-cu12 (12.4.127): Skipped for the following reason: Not required
  - Installing sympy (1.13.1): Pending...
  - Installing sympy (1.13.1): Skipped for the following reason: Not required
  - Installing triton (3.1.0): Pending...
  - Installing triton (3.1.0): Skipped for the following reason: Not required
  - Installing nvidia-cufft-cu12 (11.2.1.3): Pending...
  - Installing nvidia-cufft-cu12 (11.2.1.3): Skipped for the following reason: Not required
  - Installing setuptools (75.8.0): Pending...
  - Installing setuptools (75.8.0): Skipped for the following reason: Not required
  - Installing typing-extensions (4.12.2): Pending...
  - Installing typing-extensions (4.12.2): Skipped for the following reason: Not required
  - Installing nvidia-cusolver-cu12 (11.6.1.9): Pending...
  - Installing nvidia-cusolver-cu12 (11.6.1.9): Skipped for the following reason: Not required
  - Installing nvidia-cudnn-cu12 (9.1.0.70): Pending...
  - Installing nvidia-cudnn-cu12 (9.1.0.70): Skipped for the following reason: Not required
  - Installing torch (2.5.1): Pending...
  - Installing torch (2.5.1): Skipped for the following reason: Not required
  - Installing dependency (1.0.0 /home/k34/repos/internal/trio-cloud-search/dependency): Pending...
  - Installing dependency (1.0.0 /home/k34/repos/internal/trio-cloud-search/dependency): Preparing...
[virtualenv:virtualenv.discovery.builtin] find interpreter for spec PythonSpec(path=/usr/bin/python3.12)
[virtualenv:virtualenv.discovery.builtin] proposed PythonInfo(spec=CPython3.10.12.final.0-64, exe=/usr/bin/python3.10, platform=linux, version='3.10.12 (main, Jan 17 2025, 14:35:34) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
[virtualenv:virtualenv.discovery.builtin] accepted PythonInfo(spec=CPython3.10.12.final.0-64, exe=/usr/bin/python3.10, platform=linux, version='3.10.12 (main, Jan 17 2025, 14:35:34) [GCC 11.4.0]', encoding_fs_io=utf-8-utf-8)
[virtualenv:virtualenv.run.session] create virtual environment via CPython3Posix(dest=/tmp/tmpy9c5ki16/.venv, clear=False, no_vcs_ignore=False, global=False)
[virtualenv:virtualenv.util.path._sync] create folder /tmp/tmpy9c5ki16/.venv/bin
[virtualenv:virtualenv.util.path._sync] create folder /tmp/tmpy9c5ki16/.venv/lib/python3.10/site-packages
[virtualenv:virtualenv.create.pyenv_cfg] write /tmp/tmpy9c5ki16/.venv/pyvenv.cfg
[virtualenv:virtualenv.create.pyenv_cfg]        home = /usr/bin
[virtualenv:virtualenv.create.pyenv_cfg]        implementation = CPython
[virtualenv:virtualenv.create.pyenv_cfg]        version_info = 3.10.12.final.0
[virtualenv:virtualenv.create.pyenv_cfg]        virtualenv = 20.28.1
[virtualenv:virtualenv.create.pyenv_cfg]        include-system-site-packages = false
[virtualenv:virtualenv.create.pyenv_cfg]        base-prefix = /usr
[virtualenv:virtualenv.create.pyenv_cfg]        base-exec-prefix = /usr
[virtualenv:virtualenv.create.pyenv_cfg]        base-executable = /usr/bin/python3.10
[virtualenv:virtualenv.util.path._sync] symlink /usr/bin/python3.10 to /tmp/tmpy9c5ki16/.venv/bin/python
[virtualenv:virtualenv.create.via_global_ref.api] create virtualenv import hook file /tmp/tmpy9c5ki16/.venv/lib/python3.10/site-packages/_virtualenv.pth
[virtualenv:virtualenv.create.via_global_ref.api] create /tmp/tmpy9c5ki16/.venv/lib/python3.10/site-packages/_virtualenv.py
[virtualenv:virtualenv.run.session] ============================== target debug ==============================
[virtualenv:virtualenv.create.creator] debug via /tmp/tmpy9c5ki16/.venv/bin/python /home/k34/.local/lib/python3.12/site-packages/virtualenv/create/debug.py
[virtualenv:virtualenv.run.session] {
[virtualenv:virtualenv.run.session]   "sys": {
[virtualenv:virtualenv.run.session]     "executable": "/tmp/tmpy9c5ki16/.venv/bin/python",
[virtualenv:virtualenv.run.session]     "_base_executable": "/tmp/tmpy9c5ki16/.venv/bin/python",
[virtualenv:virtualenv.run.session]     "prefix": "/tmp/tmpy9c5ki16/.venv",
[virtualenv:virtualenv.run.session]     "base_prefix": "/usr",
[virtualenv:virtualenv.run.session]     "real_prefix": null,
[virtualenv:virtualenv.run.session]     "exec_prefix": "/tmp/tmpy9c5ki16/.venv",
[virtualenv:virtualenv.run.session]     "base_exec_prefix": "/usr",
[virtualenv:virtualenv.run.session]     "path": [
[virtualenv:virtualenv.run.session]       "/usr/lib/python310.zip",
[virtualenv:virtualenv.run.session]       "/usr/lib/python3.10",
[virtualenv:virtualenv.run.session]       "/usr/lib/python3.10/lib-dynload",
[virtualenv:virtualenv.run.session]       "/tmp/tmpy9c5ki16/.venv/lib/python3.10/site-packages"
[virtualenv:virtualenv.run.session]     ],
[virtualenv:virtualenv.run.session]     "meta_path": [
[virtualenv:virtualenv.run.session]       "<class '_virtualenv._Finder'>",
[virtualenv:virtualenv.run.session]       "<class '_frozen_importlib.BuiltinImporter'>",
[virtualenv:virtualenv.run.session]       "<class '_frozen_importlib.FrozenImporter'>",
[virtualenv:virtualenv.run.session]       "<class '_frozen_importlib_external.PathFinder'>"
[virtualenv:virtualenv.run.session]     ],
[virtualenv:virtualenv.run.session]     "fs_encoding": "utf-8",
[virtualenv:virtualenv.run.session]     "io_encoding": "utf-8"
[virtualenv:virtualenv.run.session]   },
[virtualenv:virtualenv.run.session]   "version": "3.10.12 (main, Jan 17 2025, 14:35:34) [GCC 11.4.0]",
[virtualenv:virtualenv.run.session]   "makefile_filename": "/usr/lib/python3.10/config-3.10-x86_64-linux-gnu/Makefile",
[virtualenv:virtualenv.run.session]   "os": "<module 'os' from '/usr/lib/python3.10/os.py'>",
[virtualenv:virtualenv.run.session]   "site": "<module 'site' from '/usr/lib/python3.10/site.py'>",
[virtualenv:virtualenv.run.session]   "datetime": "<module 'datetime' from '/usr/lib/python3.10/datetime.py'>",
[virtualenv:virtualenv.run.session]   "math": "<module 'math' (built-in)>",
[virtualenv:virtualenv.run.session]   "json": "<module 'json' from '/usr/lib/python3.10/json/__init__.py'>"
[virtualenv:virtualenv.run.session] }
[virtualenv:virtualenv.run.session] add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
[virtualenv:virtualenv.create.pyenv_cfg] write /tmp/tmpy9c5ki16/.venv/pyvenv.cfg
[virtualenv:virtualenv.create.pyenv_cfg]        home = /usr/bin
[virtualenv:virtualenv.create.pyenv_cfg]        implementation = CPython
[virtualenv:virtualenv.create.pyenv_cfg]        version_info = 3.10.12.final.0
[virtualenv:virtualenv.create.pyenv_cfg]        virtualenv = 20.28.1
[virtualenv:virtualenv.create.pyenv_cfg]        include-system-site-packages = false
[virtualenv:virtualenv.create.pyenv_cfg]        base-prefix = /usr
[virtualenv:virtualenv.create.pyenv_cfg]        base-exec-prefix = /usr
[virtualenv:virtualenv.create.pyenv_cfg]        base-executable = /usr/bin/python3.10
Source (PyPI): 243 packages found for setuptools >=40.8.0
[build:build] Getting build dependencies for wheel...
Source (PyPI): 243 packages found for setuptools >=40.8.0
[build:build] Building wheel...
  - Installing dependency (1.0.0 /home/k34/repos/internal/trio-cloud-search/dependency): Installing...
  - Installing dependency (1.0.0 /home/k34/repos/internal/trio-cloud-search/dependency)

Writing lock file

Installing the current project: dependent (1.0.0)
  - Building package dependent in editable mode
  - Adding dependent.pth to /home/k34/repos/internal/trio-cloud-search/dependent/.venv/lib/python3.10/site-packages for /home/k34/repos/internal/trio-cloud-search/dependent
  - Adding the dependent-1.0.0.dist-info directory to /home/k34/repos/internal/trio-cloud-search/dependent/.venv/lib/python3.10/site-packages
@kikones34 kikones34 added kind/bug Something isn't working as expected status/triage This issue needs to be triaged labels Jan 28, 2025
@dimbleby
Copy link
Contributor

dimbleby commented Jan 28, 2025

I am not at all sure of the status of negative extras, they strike me as dubious at best. Is there any standard support for this or is it a poetry-invented attempt to workaround torch unpleasantness?

Anyway, even if you can get the resolution to work as you intend this still will not work. The dependent package will not know anything about sources declared in the dependency package - there is no place in the dependency package metadata to record this information. So what you are trying to do looks doomed.

You will have to be explicit in your top level project.

@kikones34
Copy link
Author

kikones34 commented Jan 29, 2025

I am not at all sure of the status of negative extras, they strike me as dubious at best. Is there any standard support for this or is it a poetry-invented attempt to workaround torch unpleasantness?

I looked around a bit, and it seems some people have used them outside of Poetry (e.g. in a setup.py), although it doesn't seem very widespread. Either way, I believe it truly is the only way to properly deal with CPU / GPU packaging spaghetti. Or at least, I have not been able to figure out any alternate solution, other than:

  • Having a package require either the cpu or cuda extra, meaning that if the package is installed without any extras it straight up doesn't work (beyond questionable)
  • Having two separate packages for CPU and CUDA sharing the same code but with a different toml specification for each (needlessly cumbersome and hard to maintain)

Anyway, even if you can get the resolution to work as you intend this still will not work. The dependent package will not know anything about sources declared in the dependency package - there is no place in the dependency package metadata to record this information. So what you are trying to do looks doomed.

Ah, that explains why I was having version resolution issues when including specific torch cpu / cuda versions. In any case, I only used that example because I figured it is a "manual example" and should work, since it's straight from the docs. The need to specify different sources is not really relevant to the main problem, however. Below is an example toml for "dependency" which causes the same issue when trying to install it in "dependent".

pyproject.toml
[project]
name = "dependency"
version = "1.0.0"
requires-python = ">=3.10"
dependencies = ["onnxruntime; extra != 'cuda'"]

[project.optional-dependencies]
cuda = ["onnxruntime-gpu"]

[tool.poetry]
requires-poetry = ">=2.0"

Again, this will work as the docs suggest when installing the dependencies of dependecy, but it does not work when installing dependency as a dependency of dependent, never installing onnxruntime even without the cuda extra.

If this is not a bug and is expected behavior, then I believe the docs are misleading, as they dedicate a section to this exact use case and suggest that it is well-supported (as long as installer.re-resolve is set to False). This use case was also discussed before and I believe #9553 was meant to fully support it.

@dimbleby
Copy link
Contributor

There's an active proposal PEP771 for default extras which is likely relevant here, and an ongoing discussion here.

That looks like the intended standards approach for this sort of situation, dependency would provide onnxruntime as a default extra, but that could be de-selected.

So far as I can see no-one on the thread is saying "hold on, negative extras are already a thing, this is all unnecessary". If you believe that's the case then you may want to chime in.

The proposal looks to be progressing towards general agreement, I have no insight into whether or when poetry might implement it. If the PEP is agreed then perhaps you'd like to contribute.

@kikones34
Copy link
Author

Thanks for the heads up, I wasn't aware of that PEP. The more I look into it, the more convinced I am that the extra marker was indeed never meant to be used like this. PEP 508 does not really define what it should contain and leaves it up to implementation, and setuptools does not currently support it either.

In any case, right now it is presumably supported by Poetry, so either we make it work all the way, or we add a disclaimer regarding the limitations of the feature. I could try to contribute myself if I can find the time.

@reesehyde @radoering I'm sorry to bother you, but do you have any input regarding this? Was it expected that exclusive extras would propagate correctly down dependency chains? TL;DR context: the feature implemented in #9553 doesn't seem to be working when a package specifying exclusive extras is a dependency of another package. The dependencies marked by "negative" extras (extra != 'cuda') do not ever get installed in this case.

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

2 participants