I have just installed poetry on a windows 10 machine using the new install-poetry.py
script. I have just converted my python application dependency management to pyproject.toml
with poetry
. It works for most of my dependencies, but fails for the genicam package, with the above Unable to find installation candidates
error message. Installing that package with pip
does work. How do I debug such issues? I tried running poetry install -vvv
, but all I get is the same stack-trace of poetry's internals in verbose form, nothing useful added to the output of the short-form (in particular no indexes or urls it tried and failed):
Package operations: 1 install, 0 updates, 0 removals
• Installing genicam (1.1.0)
RuntimeError
Unable to find installation candidates for genicam (1.1.0)
at ~\AppData\Roaming\pypoetry\venv\lib\site-packages\poetry\installation\chooser.py:72 in choose_for
68│
69│ links.append(link)
70│
71│ if not links:
→ 72│ raise RuntimeError(
73│ "Unable to find installation candidates for {}".format(package)
74│ )
75│
76│ # Get the best link
I'm using poetry version 1.1.13 on python 3.8.10 on windows 10 (python 3.8 is the latest supported by genicam
- it's a closed source package managed by the GenICam consortium, and they have a ridiculous release process; somehow they need a committee voting before they can release a new package - end rant).
Similar to Jakob Kristensen's answer (thanks for the pointer), in my case the access tokens had expired. Here's a longer winded answer on how I solved it.
The Access Tokens to the desired repositories had expired:
Poetry saves the authentication method in the
poetry.toml
file:poetry config http-basic.$SOURCENAME $USERNAME $PASSWORD
command.pyproject.toml
file and not to the name of the repository!If the issue is occurring in Gitlab-CI, you may use
poetry config http-basic.$SOURCENAME gitlab-ci-token "${CI_JOB_TOKEN}"
.