mtkennerly / poetry-dynamic-versioning

Plugin for Poetry to enable dynamic versioning based on VCS tags
MIT License
607 stars 35 forks source link

Isn't compatible with Poetry 1.6.x #152

Closed MarshalX closed 11 months ago

MarshalX commented 11 months ago

Hi, perhaps I'm missing something... (something with my local env) Because you fixed compatibility in v1.0.1 (2023-08-21) (No module named 'poetry.core.semver') but I still can't use your awesome plugin with Poetry 1.6.x.

Here is what i get:

poetry --verbose build                                                                                       ✭ ✱

  ModuleNotFoundError

  No module named 'poetry.core.semver'

  at /opt/homebrew/lib/python3.11/site-packages/poeblix/validatewheel.py:14 in <module>
       10│ 
       11│ # For fixing https://github.com/python-poetry/poetry/issues/5216
       12│ from packaging.tags import sys_tags  # noqa
       13│ from poetry.console.commands.env_command import EnvCommand
    →  14│ from poetry.core.semver.helpers import parse_constraint
       15│ 
       16│ # e.g. "nemoize (>=0.1.0,<0.2.0)"
       17│ from tomlkit.exceptions import NonExistentKey
       18│ 

as you can see the problem in poeblix which doesn't support Poetry > 1.5

and the most confusing thing is that when i try to install your plugin it installs poeblix...

image

what do i miss? who depends on incombustible poeblix?

UPD.

➜  ~  /opt/homebrew/bin/python3.11 -m pip uninstall poeblix
Found existing installation: poeblix 0.8.1
Uninstalling poeblix-0.8.1:
  Would remove:
    /opt/homebrew/lib/python3.11/site-packages/poeblix-0.8.1.dist-info/*
    /opt/homebrew/lib/python3.11/site-packages/poeblix/*
Proceed (Y/n)?
  Successfully uninstalled poeblix-0.8.1
➜  ~  poetry self show plugins

  • poetry-plugin-export (1.5.0) Poetry plugin to export the dependencies to various formats
      1 application plugin

      Dependencies
        - poetry (>=1.5.0,<2.0.0)
        - poetry-core (>=1.6.0,<2.0.0)

  • poetry-dynamic-versioning (1.1.0) Plugin for Poetry to enable dynamic versioning based on VCS tags
      1 application plugin

      Dependencies
        - dunamai (>=1.18.0,<2.0.0)
        - jinja2 (>=2.11.1,<4)
        - poetry (>=1.2.0,<2.0.0)
        - tomlkit (>=0.4)

after pip uninstall poeblix it looks like the problem was fixed... i didn't get it

mtkennerly commented 11 months ago

I see there's an issue for this in the poeblix repository: https://github.com/spoorn/poeblix/issues/18

and the most confusing thing is that when i try to install your plugin it installs poeblix...

I've seen this kind of behavior before when Poetry's internal pyproject.toml/poetry.lock gets into a weird state, which makes Poetry keep reinstalling plugins that you installed before. I'm not sure where it's located on Mac, but it's in %APPDATA%/pypoetry on Windows. You could delete those files and reinstall the plugins you want.

what do i miss? who depends on incombustible poeblix?

poetry-dynamic-versioning doesn't depend on it. If you've tried using poeblix before, then I think it's just stuck in Poetry's internal pyproject.toml.

MarshalX commented 11 months ago

Thank you! Yeah, I tried to use it before. I'll check where this file could be located

MarshalX commented 11 months ago

macOS path: ~/Library/Application Support/pypoetry

poetry self remove poeblix