Repository: python-poetry/poetry
Pull request: fix: :bug: handle pwsh correctly under linux
# Pull Request Check List

Resolves: #10253 

<!-- This is just a reminder about the most common mistakes. Please make sure that you tick all *appropriate* boxes.  But please read our [contribution guide](https://python-poetry.org/docs/contributing/) at least once, it will save you unnecessary review cycles! -->

- [ ] Added **tests** for changed code.
- [ ] Updated **documentation** for changed code.

<!-- If you have *any* questions to *any* of the points above, just **submit and ask**!  This checklist is here to *help* you, not to deter you from contributing! -->

## Summary by Sourcery

Bug Fixes:
- Fixes an issue where the wrong activation script was being used for PowerShell (pwsh) under Linux.

Problem statement:
poetry env activate in powershell core returns "Discovered shell doesn't have an activator in virtual environment"
### Description

i want to activate my env created with poetry install via `Invoke-Expression (poetry env activate)` in my powershell core, but the return of `poetry env activate` is 

```ps
PS /home/wsl/projects/me-testsuite> poetry env activate

Discovered shell doesn't have an activator in virtual environment
```

my full list of commands i enterred:

```ps
poetry python install 3.10
poetry env use 3.10
poetry install --with dev
Invoke-Expression (poetry env activate)
```

### Workarounds

using bash works, poetry correctly returns the activation command

### Poetry Installation Method

pip

### Operating System

WSL ubuntu22.04

### Poetry Version

Poetry (version 2.1.1)

### Poetry Configuration

```bash session
cache-dir = "/home/wsl/.cache/pypoetry"
data-dir = "/home/wsl/.local/share/pypoetry"
installer.max-workers = null
installer.no-binary = null
installer.only-binary = null
installer.parallel = true
installer.re-resolve = true
keyring.enabled = true
python.installation-dir = "{data-dir}/python"  # /home/wsl/.local/share/pypoetry/python
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"  # /home/wsl/.cache/pypoetry/virtualenvs
virtualenvs.prompt = "{project_name}-py{python_version}"
virtualenvs.use-poetry-python = false
```

### Python Sysconfig

<details>
  <summary>sysconfig.log</summary>
  <!-- Please leave one blank line below for enabling the code block rendering. -->

  ```
Platform: "linux-x86_64"
Python version: "3.10"
Current installation scheme: "posix_prefix"

Paths: 
	data = "/home/wsl/.cache/pypoetry/virtualenvs/me-testsuite-_83tB6v_-py3.10"
	include = "/usr/include/python3.10"
	platinclude = "/usr/include/python3.10"
	platlib = "/home/wsl/.cache/pypoetry/virtualenvs/me-testsuite-_83tB6v_-py3.10/lib/python3.10/site-packages"
	platstdlib = "/home/wsl/.cache/pypoetry/virtualenvs/me-testsuite-_83tB6v_-py3.10/lib/python3.10"
	purelib = "/home/wsl/.cache/pypoetry/virtualenvs/me-testsuite-_83tB6v_-py3.10/lib/python3.10/site-packages"
	scripts = "/home/wsl/.cache/pypoetry/virtualenvs/me-testsuite-_83tB6v_-py3.10/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-q4c55j/python3.10-3.10.12/build-shared/coverage.info"
	COVERAGE_REPORT = "/build/python3.10-q4c55j/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-q4c55j/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-q4c55j/python3.10-3.10.12/build-shared ./python"
	TESTPYTHONOPTS = ""
	TESTRUNNER = "LD_LIBRARY_PATH=/build/python3.10-q4c55j/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-q4c55j/python3.10-3.10.12/build-shared"
	abs_srcdir = "/build/python3.10-q4c55j/python3.10-3.10.12/build-shared/.."
	base = "/home/wsl/.cache/pypoetry/virtualenvs/me-testsuite-_83tB6v_-py3.10"
	datarootdir = "/usr/share"
	exec_prefix = "/usr"
	installed_base = "/usr"
	installed_platbase = "/usr"
	multiarchsubdir = "/x86_64-linux-gnu"
	platbase = "/home/wsl/.cache/pypoetry/virtualenvs/me-testsuite-_83tB6v_-py3.10"
	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/wsl/.local"
  Paste the output of 'python -m sysconfig', over this line.
  ```
</details>


### Example pyproject.toml

```TOML

```

### Poetry Runtime Logs

<details>
  <summary>poetry-runtime.log</summary>
  <!-- Please leave one blank line below for enabling the code block rendering. -->

  ```
Loading configuration file /home/wsl/.config/pypoetry/config.toml
Loading configuration file /home/wsl/.config/pypoetry/auth.toml
Using virtualenv: /home/wsl/.cache/pypoetry/virtualenvs/me-testsuite-_83tB6v_-py3.10

  Stack trace:

  7  ~/.local/lib/python3.10/site-packages/cleo/application.py:327 in run
      325│ 
      326│             try:
    → 327│                 exit_code = self._run(io)
      328│             except BrokenPipeError:
      329│                 # If we are piped to another process, it may close early and send a

  6  ~/.local/lib/python3.10/site-packages/poetry/console/application.py:260 in _run
      258│         with directory(self._working_directory):
      259│             try:
    → 260│                 exit_code = super()._run(io)
      261│             except PoetryRuntimeError as e:
      262│                 io.write_error_line("")

  5  ~/.local/lib/python3.10/site-packages/cleo/application.py:431 in _run
      429│             io.input.interactive(interactive)
      430│ 
    → 431│         exit_code = self._run_command(command, io)
      432│         self._running_command = None
      433│ 

  4  ~/.local/lib/python3.10/site-packages/cleo/application.py:473 in _run_command
      471│ 
      472│         if error is not None:
    → 473│             raise error
      474│ 
      475│         return terminate_event.exit_code

  3  ~/.local/lib/python3.10/site-packages/cleo/application.py:457 in _run_command
      455│ 
      456│             if command_event.command_should_run():
    → 457│                 exit_code = command.run(io)
      458│             else:
      459│                 exit_code = ConsoleCommandEvent.RETURN_CODE_DISABLED

  2  ~/.local/lib/python3.10/site-packages/cleo/commands/base_command.py:117 in run
      115│         io.input.validate()
      116│ 
    → 117│         return self.execute(io) or 0
      118│ 
      119│     def merge_application_definition(self, merge_args: bool = True) -> None:

  1  ~/.local/lib/python3.10/site-packages/cleo/commands/command.py:61 in execute
       59│ 
       60│         try:
    →  61│             return self.handle()
       62│         except KeyboardInterrupt:
       63│             return 1

  ShellNotSupportedError

  Discovered shell doesn't have an activator in virtual environment

  at ~/.local/lib/python3.10/site-packages/poetry/console/commands/env/activate.py:34 in handle
       30│         if command := self._get_activate_command(env):
       31│             self.line(command)
       32│             return 0
       33│         else:
    →  34│             raise ShellNotSupportedError(
       35│                 "Discovered shell doesn't have an activator in virtual environment"
       36│             )
       37│ 
       38│     def _get_activate_command(self, env: Env) -> str:
  Paste the output of 'poetry -vvv <command>', over this line.
  ```
</details>

Hints from issue discussion:
> Discovered shell doesn't have an activator in virtual environment

well does it?  what were you expecting `poetry env activate` to return?
> > Discovered shell doesn't have an activator in virtual environment
> 
> well does it? what were you expecting `poetry env activate` to return?


`$(poetry env info --path)/bin/activate.ps1` is available, and `poetry env activate` should print this path to stdout


from official poetry doc:

The env activate command prints the command to activate a virtual environment in your current shell.

https://python-poetry.org/docs/cli/#env-activate
and [what shell does poetry detect](https://github.com/python-poetry/poetry/blob/a01afef50bce54278443e82c67ee9bef934a671b/src/poetry/console/commands/env/activate.py#L39-L42)?
is there a way to force it to pwsh or powershell?
I linked the code, I think it should be fairly clear that the answer is "no"?

what shell does poetry detect?
well, but shellingham does indeed detect my shell correctly

```
PS /> poetry add shellingham  
Using version ^1.5.4 for shellingham

Updating dependencies
Resolving dependencies... (0.1s)

Package operations: 1 install, 0 updates, 0 removals

  - Installing shellingham (1.5.4)

Writing lock file
PS /> poetry run python       
Python 3.12.3 (main, Feb  4 2025, 14:48:35) [GCC 13.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import shellingham as s
>>> a = s.detect_shell()
>>> print(a)
('pwsh', 'pwsh')
```
to replicate this setup use:

```
docker run -it --rm ubuntu bash
```

inside the container to install powershell from https://learn.microsoft.com/en-us/powershell/scripting/install/install-ubuntu?view=powershell-7.5
```
###################################
# Prerequisites

# Update the list of packages
apt-get update

# Install pre-requisite packages.
apt-get install -y wget apt-transport-https software-properties-common

# Get the version of Ubuntu
source /etc/os-release

# Download the Microsoft repository keys
wget -q https://packages.microsoft.com/config/ubuntu/$VERSION_ID/packages-microsoft-prod.deb

# Register the Microsoft repository keys
dpkg -i packages-microsoft-prod.deb

# Delete the Microsoft repository keys file
rm packages-microsoft-prod.deb

# Update the list of packages after we added packages.microsoft.com
apt-get update

###################################
# Install PowerShell
apt-get install -y powershell pipx pip

# Start PowerShell
pwsh
```

`pipx install poetry`

`poetry init`

`poetry add shellingham`

`poetry install --no-root`

`poetry run python`

```py
>>> import shellingham as s
>>> a = s.detect_shell()
>>> print(a)
```
@dimbleby 

i would guess the problem is 

```py
        elif shell in ["powershell", "pwsh"]:
            command, filename = ".", "Activate.ps1"
```

but in the env bin folder is only `activate.ps1` lower case

```
PS /> poetry env info         

Virtualenv
Python:         3.12.3
Implementation: CPython
Path:           /root/.cache/pypoetry/virtualenvs/test-il7asoJj-py3.12
Executable:     /root/.cache/pypoetry/virtualenvs/test-il7asoJj-py3.12/bin/python
Valid:          True

Base
Platform:   linux
OS:         posix
Python:     3.12.3
Path:       /usr
Executable: /usr/bin/python3.12
PS /> cd /root/.cache/pypoetry/virtualenvs/test-il7asoJj-py3.12
PS /root/.cache/pypoetry/virtualenvs/test-il7asoJj-py3.12> cd ./bin/                                                
PS /root/.cache/pypoetry/virtualenvs/test-il7asoJj-py3.12/bin> dir

    Directory: /root/.cache/pypoetry/virtualenvs/test-il7asoJj-py3.12/bin

UnixMode         User Group         LastWriteTime         Size Name
--------         ---- -----         -------------         ---- ----
-rw-r--r--       root root       03/05/2025 21:26         2286 activate
-rw-r--r--       root root       03/05/2025 21:26         1298 activate_this.py
-rw-r--r--       root root       03/05/2025 21:26         1543 activate.csh
-rw-r--r--       root root       03/05/2025 21:26         3105 activate.fish
-rw-r--r--       root root       03/05/2025 21:26         2808 activate.nu
-rw-r--r--       root root       03/05/2025 21:26         1685 activate.ps1
-rwxr-xr-x       root root       03/05/2025 21:26          269 black
-rwxr-xr-x       root root       03/05/2025 21:26          270 blackd
-rwxr-xr-x       root root       03/05/2025 21:26          270 pip
-rwxr-xr-x       root root       03/05/2025 21:26          270 pip-3.12
-rwxr-xr-x       root root       03/05/2025 21:26          270 pip3
-rwxr-xr-x       root root       03/05/2025 21:26          270 pip3.12
lrwxrwxrwx       root root       03/05/2025 21:26           19 python -> /usr/bin/python3.12
lrwxrwxrwx       root root       03/05/2025 21:26            6 python3 -> python
lrwxrwxrwx       root root       03/05/2025 21:26            6 python3.12 -> python

PS /root/.cache/pypoetry/virtualenvs/test-il7asoJj-py3.12/bin> 
```
Pull request welcome, I'm sure
i'll make one tommorow

Commit message: fix: :bug: handle pwsh correctly under linux

Patch to review:
diff --git a/src/poetry/console/commands/env/activate.py b/src/poetry/console/commands/env/activate.py
index 5f0913fdfaa..d37e000884b 100644
--- a/src/poetry/console/commands/env/activate.py
+++ b/src/poetry/console/commands/env/activate.py
@@ -47,7 +47,11 @@ def _get_activate_command(self, env: Env) -> str:
         elif shell in ["csh", "tcsh"]:
             command, filename = "source", "activate.csh"
         elif shell in ["powershell", "pwsh"]:
-            command, filename = ".", "Activate.ps1"
+            if WINDOWS:
+                command, filename = ".", "Activate.ps1"
+            else:
+                command, filename = ".", "activate.ps1"
+
         elif shell == "cmd":
             command, filename = ".", "activate.bat"
         else:


Code review comments:
diff_hunk: @@ -47,7 +47,11 @@ def _get_activate_command(self, env: Env) -> str:
         elif shell in ["csh", "tcsh"]:
             command, filename = "source", "activate.csh"
         elif shell in ["powershell", "pwsh"]:
-            command, filename = ".", "Activate.ps1"
+            if WINDOWS:
+                command, filename = ".", "Activate.ps1"
+            else:
+                command, filename = ".", "activate.ps1"
+
path: src/poetry/console/commands/env/activate.py
text: @user1:
I think we can just make it lower case. Actually, it seems it is also lower case on Windows (but it does not matter because Windows does not care about case).

@author:
true, thanks for pointing out