Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"Unable to find installation candidates" in poetry trying to install `genicam` - how to debug?

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).

like image 863
burnpanck Avatar asked Nov 30 '25 04:11

burnpanck


2 Answers

Had a dependency to a repository using an authentication token which were expired. Updating auth credentials fixed this.

like image 64
Jakob Kristensen Avatar answered Dec 01 '25 17:12

Jakob Kristensen


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:

  • You can create new Personal Access Tokens in your GitLab/GitHub/Bitbucket account.
  • If the access to the repository is tied to another project, look into Project Access Tokens (analog for GitHub/BitBucket).

Poetry saves the authentication method in the poetry.toml file:

  • Update the access tokens with the poetry config http-basic.$SOURCENAME $USERNAME $PASSWORD command.
    • Note: here $SOURCENAME refers to how the source was named in the pyproject.toml file and not to the name of the repository!
  • See the poetry documentation on Configuring Credentials for more information.

If the issue is occurring in Gitlab-CI, you may use poetry config http-basic.$SOURCENAME gitlab-ci-token "${CI_JOB_TOKEN}".

like image 38
Flurin Arner Avatar answered Dec 01 '25 17:12

Flurin Arner



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!