macro128 / pdm-conda

A PDM plugin to resolve/install/uninstall project dependencies with Conda
33 stars 1 forks source link

pdm-conda 0.18.2 is incompatible with pdm 2.16.1 #43

Closed suhail-singh closed 1 month ago

suhail-singh commented 1 month ago

In a project with pdm==2.16.1 and pdm-conda==0.18.2 the following is observed:

$> pdm venv create -v -cn foo

Results in:

STATUS: Creating virtualenv using mamba...
Traceback (most recent call last):
  File "/home/user/miniconda3/bin/pdm", line 10, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/user/miniconda3/lib/python3.11/site-packages/pdm/core.py", line 363, in main
    return core.main(args or sys.argv[1:])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/miniconda3/lib/python3.11/site-packages/pdm/core.py", line 281, in main
    raise cast(Exception, err).with_traceback(traceback) from None
  File "/home/user/miniconda3/lib/python3.11/site-packages/pdm/core.py", line 276, in main
    self.handle(project, options)
  File "/home/user/miniconda3/lib/python3.11/site-packages/pdm/core.py", line 212, in handle
    command.handle(project, options)
  File "/home/user/miniconda3/lib/python3.11/site-packages/pdm_conda/cli/commands/venv/create.py", line 61, in handle
    conda_config.check_active(super().handle)(project, options)
  File "/home/user/miniconda3/lib/python3.11/site-packages/pdm_conda/models/config.py", line 315, in decorator
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/miniconda3/lib/python3.11/site-packages/pdm/cli/commands/venv/create.py", line 50, in handle
    path = venv_backend.create(
           ^^^^^^^^^^^^^^^^^^^^
  File "/home/user/miniconda3/lib/python3.11/site-packages/pdm_conda/models/config.py", line 303, in decorator
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/miniconda3/lib/python3.11/site-packages/pdm_conda/cli/commands/venv/backends.py", line 34, in create
    return super().create(name, args, force, in_project, prompt, with_pip)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/miniconda3/lib/python3.11/site-packages/pdm/cli/commands/venv/backends.py", line 123, in create
    location = self.get_location(name, venv_name)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/miniconda3/lib/python3.11/site-packages/pdm_conda/models/config.py", line 303, in decorator
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
TypeError: CondaBackend.get_location() takes 2 positional arguments but 3 were given

It seems that pdm's API has changed and pdm-conda needs to be updated.

macro128 commented 1 month ago

Hi! This issue was fixed on version 0.18.3 thanks for reporting!