`requires-plugins` breaks poetry installation on Windows
envgap__python-poetry__poetry-10028
01 / FAILURE SIGNATURE
As reported upstream
However, instead of expected installation, what I receive is an error:
Not a benchmark task.
- The project already builds and runs before the fix, so there is nothing to repair.
02 / ENVIRONMENT RECIPE
- Base commit
7ef28ec94b11c277f925a961f94895991d6890a2- Manifest
pyproject.toml- Reproduce
Awaiting issue-specific recipe- Run under trace
Awaiting a meaningful runtime command
03 / ORIGINAL ISSUE TEXT
python-poetry/poetry #10028 · read the original issue
### Description
I have a poetry project, which I install and test on Windows machine in GitHub Actions.
Recently, I tried using the new `requires-plugins` feature for `poethepoet` and `poetry-plugin-export` plugins installation.
The `pyproject.toml` file looks somewhat like this:
```toml
...
[tool.poetry.requires-plugins]
poethepoet = "^0.32.1"
poetry-plugin-export = "^1.9.0"
...
```
However, instead of expected installation, what I receive is an error:
```txt
Ensuring that the Poetry plugins required by the project are available...
The following Poetry plugins are required by the project but are not installed in Poetry's environment:
- poethepoet (>=0.32.1,<0.33.0)
- poetry-plugin-export (>=1.9.0,<2.0.0)
Installing Poetry plugins only for the current project...
Updating dependencies
Resolving dependencies...
Package operations: 4 installs, 0 updates, 0 removals
- Installing pastel (0.2.1)
- Installing pyyaml (6.0.2)
- Installing poethepoet (0.32.1)
- Installing poetry-plugin-export (1.9.0)
ValueError
path is on mount 'C:', start on mount 'D:'
at C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\ntpath.py:747 in relpath
743| path_abs = abspath(normpath(path))
744| start_drive, start_rest = splitdrive(start_abs)
745| path_drive, path_rest = splitdrive(path_abs)
746| if normcase(start_drive) != normcase(path_drive):
> 747| raise ValueError("path is on mount %r, start on mount %r" % (
748| path_drive, start_drive))
749|
750| start_list = [x for x in start_rest.split(sep) if x]
751| path_list = [x for x in path_rest.split(sep) if x]
Cannot install poethepoet.
Failed to install required Poetry plugins
```
### Workarounds
The plugins still can be installed traditionally, using `poetry self add ...`.
However, I still would like to try the new feature... it works on Linux so nice!
### Poetry Installation Method
pip
### Operating System
`windiws-latest` (that is `Windows Server 2022 OS Version: 10.0.20348 Build 2966`)
### Poetry Version
Poetry (version 2.0.1)
### Poetry Configuration
```bash session
cache-dir = "C:\\Users\\runneradmin\\AppData\\Local\\pypoetry\\Cache"
installer.max-workers = null
installer.no-binary = null
installer.only-binary = null
installer.parallel = true
installer.re-resolve = true
keyring.enabled = true
requests.max-retries = 0
solver.lazy-wheel = true
system-git-client = false
virtualenvs.create = true
virtualenvs.in-project = null
virtualenvs.options.always-copy = false
virtualenvs.options.no-pip = false
virtualenvs.options.system-site-packages = false
virtualenvs.path = "{cache-dir}\\virtualenvs" # C:\Users\runneradmin\AppData\Local\pypoetry\Cache\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: "win-amd64"
Python version: "3.10"
Current installation scheme: "nt"
Paths:
data = "C:\hostedtoolcache\windows\Python\3.10.11\x64"
include = "C:\hostedtoolcache\windows\Python\3.10.11\x64\Include"
platinclude = "C:\hostedtoolcache\windows\Python\3.10.11\x64\Include"
platlib = "C:\hostedtoolcache\windows\Python\3.10.11\x64\Lib\site-packages"
platstdlib = "C:\hostedtoolcache\windows\Python\3.10.11\x64\Lib"
purelib = "C:\hostedtoolcache\windows\Python\3.10.11\x64\Lib\site-packages"
scripts = "C:\hostedtoolcache\windows\Python\3.10.11\x64\Scripts"
stdlib = "C:\hostedtoolcache\windows\Python\3.10.11\x64\Lib"
Variables:
BINDIR = "C:\hostedtoolcache\windows\Python\3.10.11\x64"
BINLIBDEST = "C:\hostedtoolcache\windows\Python\3.10.11\x64\Lib"
EXE = ".exe"
EXT_SUFFIX = ".cp310-win_amd64.pyd"
INCLUDEPY = "C:\hostedtoolcache\windows\Python\3.10.11\x64\Include"
LIBDEST = "C:\hostedtoolcache\windows\Python\3.10.11\x64\Lib"
SO = ".cp310-win_amd64.pyd"
TZPATH = ""
VERSION = "310"
abiflags = ""
base = "C:\hostedtoolcache\windows\Python\3.10.11\x64"
exec_prefix = "C:\hostedtoolcache\windows\Python\3.10.11\x64"
installed_base = "C:\hostedtoolcache\windows\Python\3.10.11\x64"
installed_platbase = "C:\hostedtoolcache\windows\Python\3.10.11\x64"
platbase = "C:\hostedtoolcache\windows\Python\3.10.11\x64"
platlibdir = "lib"
prefix = "C:\hostedtoolcache\windows\Python\3.10.11\x64"
projectbase = "C:\hostedtoolcache\windows\Python\3.10.11\x64"
py_version = "3.10.11"
py_version_nodot = "310"
py_version_nodot_plat = "310"
py_version_short = "3.10"
srcdir = "C:\hostedtoolcache\windows\Python\3.10.11\x64"
userbase = "C:\Users\runneradmin\AppData\Roaming\Python"
```
Paste the output of 'python -m sysconfig', over this line.
```
</details>
### Example pyproject.toml
```TOML
[tool.poetry.requires-plugins]
poethepoet = "^0.32.1"
poetry-plugin-export = "^1.9.0"
```
### Poetry Runtime Logs
<details>
<summary>poetry-runtime.log</summary>
<!-- Please leave one blank line below for enabling the code block rendering. -->
[output.txt](https://github.com/user-attachments/files/18394032/output.txt)
```
Paste the output of 'poetry -vvv <command>', over this line.
```
</details>
04 / LABELS
Labels from the report text only; not yet run
No supported category has been assigned.
Label rules and the text that matched
[]