Pip3 install adafruit-circuitpython-servokit fails on Jetson Nano: no matching distribution for Adafruit-Blinka>=7.0.0

Hi, I’m trying to follow the ArduCAM PCA9685 Jetson example to get the driver working on my NVIDIA Jetson Nano:

When I run:

sudo pip3 install adafruit-circuitpython-servokit

it fails with:

ERROR: Could not find a version that satisfies the requirement Adafruit-Blinka>=7.0.0 (from adafruit-circuitpython-servokit)
ERROR: No matching distribution found for Adafruit-Blinka>=7.0.0

Any idea what’s going on? I just want the servo kit library installed on the Nano. Thanks.

Hi, thanks for the details. That error means the latest version of adafruit-circuitpython-servokit is pulling in a dependency on Adafruit-Blinka>=7.0.0, and pip can’t find a build/distribution that satisfies it in your environment.

A quick thing to try is pinning to an older release of the servo kit library that doesn’t require Blinka 7.x. Try this:

sudo pip3 install adafruit-circuitpython-servokit==6.15.0

Give that a shot and let me know the exact output you get (full traceback if it errors). Also let me know which Python version you’re on:

python3 --version

We’ll go from there.

Okay, I tried the version you suggested:

sudo pip3 install adafruit-circuitpython-servokit==6.15.0

and it returns an error. I also tried an even older one, 1.0.1, and that doesn’t work either. Same kind of failure on both.

python3 --version gives me Python 3.6 and I’d rather not touch the Python install on this Nano if I can avoid it.

Here’s the output from the 6.15.0 attempt:

ERROR: Could not find a version that satisfies the requirement adafruit-circuitpython-servokit==6.15.0
ERROR: No matching distribution found for adafruit-circuitpython-servokit==6.15.0

Not sure what else to try.

Thanks, that’s helpful. I ran some tests on our side and I can reproduce this — the adafruit-circuitpython-servokit library does not work under Python 3.6, which is what your Jetson Nano is running. That’s why both 6.15.0 and 1.0.1 fail for you.

I’d strongly recommend NOT upgrading Python to work around this. On the Jetson Nano, upgrading the system Python can break a lot of the pre-installed NVIDIA/JetPack tooling and dependencies, and it’s painful to recover from. So let’s avoid that.

What I’ll do is raise this as an official question about library support before we can recommend it for use. I’ll post the question and follow up here once I have more info. Sit tight for now.

Got it, I’ll hold off on the Python upgrade then. Just to confirm I understand — the library itself doesn’t support Python 3.6, so there’s no version I can install right now that will work?

I did follow all the install steps from the ArduCAM repo (PCA9685/example/Jetson at master · ArduCAM/PCA9685 · GitHub) and still hit that wall. Is there an official place where this gets tracked so I can follow the status?

Correct — at this point the blocker is that the library isn’t compatible with Python 3.6, so pinning to an older version doesn’t get you around it. That’s the root of both the Adafruit-Blinka>=7.0.0 resolution failure and the version-pin failures you saw.

I’ve escalated this as an official question on the Adafruit forum. You can track it here:

https://forums.adafruit.com/viewtopic.php?t=194442

Please open that thread and follow it for updates from Adafruit’s side on compatibility. I’ll also keep an eye on it and update this thread when I hear back.

Thanks, I’ll follow that forum thread. To sum up where I’m at:

  • Environment: NVIDIA Jetson Nano, Python 3.6 (was advised not to upgrade Python since it can mess up the environment)
  • Followed the install instructions here: PCA9685/example/Jetson at master · ArduCAM/PCA9685 · GitHub
  • sudo pip3 install adafruit-circuitpython-servokit → no matching distribution found for Adafruit-Blinka>=7.0.0
  • sudo pip3 install adafruit-circuitpython-servokit==6.15.0 → fails
  • Also tried 1.0.1 → fails
  • Support reproduced it and confirmed the library doesn’t work on Python 3.6
  • Escalated to the Adafruit forum: https://forums.adafruit.com/viewtopic.php?t=194442

So I’m basically waiting on the official answer. Appreciate the help so far.

That summary is accurate. The current conclusion is:

  • Root cause: the adafruit-circuitpython-servokit library is not compatible with Python 3.6, which is why the Adafruit-Blinka>=7.0.0 dependency can’t be resolved and why pinning to 6.15.0 (or 1.0.1) doesn’t work either.
  • Workaround: none at the moment on Python 3.6. Avoid upgrading Python on the Jetson Nano, as that can break the environment.
  • Next step: track the official question on the Adafruit forum at https://forums.adafruit.com/viewtopic.php?t=194442 for guidance on library support.

I’ll update this thread once there’s movement on the Adafruit side. If anything new shows up in your install output in the meantime, feel free to post it here.