Can't "pip install perceptilabs"

hi there
I try to install using “pip install perceptilabs”

I run it in an anaconda env. with python 3.7, on a windows 10 PC.
I run into this error :
ERROR: Could not find a version that satisfies the requirement perceptilabs (from versions: none)
ERROR: No matching distribution found for perceptilabs

what can i do to fix it? and to install perceptilabs?

Hi @Amit.Eliav

If you can repeat and copy both the input and output it would give a better idea of what’s going on.

I have also just built myself a new environment and created a batch file for it. It should be run from a conda prompt and I’m not sure whether atari_py & gym are still required (but they don’t block the installation)

You can also copy and paste individual commands… There are some things that are just for me in the final section, but I left them in so you can see they are compatible. There was an issue with one dependency that needed to be downgraded at some point, but I’ve forgotten which - I’m sure it’ll be fairly obvious if it happens to you.

Also: if you don’t have an nVidia GPU you don’t need the cudatoolkit, cudnn installations.

@echo off
REM conda options -y = yes, i.e. no confirmation; -q = quiet, i.e. no progress bar
REM pip options -q = quiet
REM This environment created 20/07/2021

REM minimal set of conda installations especially cuda support for TensorFlow
REM conda -c and the channel name must be adjacent
echo Conda stuff - create and activate environment %envName% with cuda support for TF2.5
call conda create -y -q --name %envName% -c conda-forge python==3.8.10
call conda activate %envName%
call conda install -y -q -c conda-forge cudatoolkit=11.2.2
call conda install -y -q -c conda-forge cudnn=

REM pip installations. NB tensorflow_decision_forests is linux only 30/06/2021 so can't install yet
echo Conda installations done. Proceeding with pip installations: pip, setuptools, TensorFlow, Perceptilabs, seaborn, etc.
pip install -q --upgrade pip setuptools
pip install -q --no-input tensorflow-gpu==2.5.0

echo Pip install Perceptilabs and atari-py dependencies
pip install perceptilabs
pip install -f atari_py
pip install gym[atari]

REM Base PL installation done. Additional packages
pip install -q jupyterlab
pip install -q --no-input seaborn tabulate pandoc
pip install -q ipyfilechooser tqdm

Hope that helps

thank you for your answer!

what my inputs and outputs were just as I said
in a new anaconda env. with python 3.7 I entered
“pip install perceptilabs”

and the output was:
ERROR: Could not find a version that satisfies the requirement perceptilabs (from versions: none)
ERROR: No matching distribution found for perceptilabs

i don’t get what went wrong.

about your code - how do I use it? should I copy it line by line to the conda prompt?
or should I make a file from it and run it somehow?
thanks a lot!

Hi @Amit.Eliav

I have no idea why a simple pip install should give you that message in a brand new environment… assuming you activated the new environment there should be nothing there to conflict with PL requirements, but I’m no expert on this stuff and maybe @robertl can clarify.

To answer your other question:

To use my code save it into a batch file, i.e. text document saved as a file with .bat as the extension, e.g. envmaker.bat

Start an anaconda/conda prompt window and navigate (e.g. cd) to the location where you saved the batch file, then run the batch file by typing e.g. envmaker.bat.

You could also type the same commands (or copy paste them) in one by one and it might be more instructive to see what is happening then by removing the -q (quiet) option


Hey @Amit.Eliav and @JulianSMoore,

Pip will say that in case (no surprise) it does not find any distribution available for your device and python combination.
It’s strange that it happens on a Windows 10 machine and Python 3.7 though, usually it’s just on outdated Mac versions.

To give a bit more explanation, this is the pip “wheel” (installation file) it should find and install: perceptilabs-0.12.16-cp37-cp37m-win_amd64.whl
The key here is in the name, as you can see it’s a “perceptilabs” wheel, version “0.12.16”, built for python “37” (3.7), and built for “win_amd64” (Windows with the amd64 system architecture, also known as x86-64 I believe).
The only part I imagine can have gone wrong is if your system is based on 32-bit instead of 64, is this the case for you?

If that’s the case a quick and ugly fix is just to download the wheel, change its name and manually install it. Let me know and I can guide you through that process :slight_smile:

thank you for your answers!

thanks for the explanation about the batch file :slight_smile:
and as I said, I used a clean new env, and activated it - that is why it is so strange it doesn’t work

here some of my pc info:
|Processor|Intel® Core™ i5-6400 CPU @ 2.70GHz 2.70 GHz|
|Installed RAM|16.0 GB (15.9 GB usable)|
|System type|64-bit operating system, x64-based processor|

so as far as I understand I have a 64-bit.
what do you think I should do next?

I really look forward to using PL! it sounds really useful for me!


Hi again @Amit.Eliav, sorry for the long silence.

It does indeed look like you are running 64 bit, I’m not entirely sure what goes wrong in that case. I’ll have to dig into it a bit more and maybe ask someone else to jump in here.

@Amit.Eliav One other thing you could try is to install perceptilabs with more output from pip e.g.

pip install perceptilabs -vvv (-vvv is the flag for most verbose)

and post the output here.

I got this suggestion from this stackoverflow question - there might be other suggestions of use to you there too.

Can you also confirm that your python installation does work before the perceptilabs installation?

thank you both! @JulianSMoore @robertl

somehow i did everything all over again the same way, deleted the env and re-install everything - and it works now!
thanks anyway :slight_smile:

Glad it worked out eventually!

(It is usually recommended practice to make an offering to your system before embarking on major changes :grinning: I know I have upset mine more than once.)

I’m having the same problem, I’ve tried your advice, here’s the result

C:\Windows\system32>pip install perceptilabs
ERROR: Could not find a version that satisfies the requirement perceptilabs (from versions: none)
ERROR: No matching distribution found for perceptilabs

C:\Windows\system32>pip install perceptilabs -vvv
Using pip 21.2.4 from c:\python39\lib\site-packages\pip (python 3.9)
Non-user install because site-packages writeable
Created temporary directory: C:\Users*\AppData\Local\Temp\pip-ephem-wheel-cache-2qmptqgz
Created temporary directory: C:\Users*
Initialized build tracking at C:\Users*\AppData\Local\Temp\pip-req-tracker-ia5ysxk1
Created build tracker: C:\Users*
Entered build tracker: C:\Users*\AppData\Local\Temp\pip-req-tracker-ia5ysxk1
Created temporary directory: C:\Users*
1 location(s) to search for versions of perceptilabs:

I can’t paste the whole result because it’s 145,000 lines long and this chat accept only 32,000, not only that it has more than 10 links which I’m also not allowed to post, so I shortened it to this.

Hi @robocop nice to have you here!

Especially since the answer seems to be quite easy

On the PL Requirements page it says

The free version of PerceptiLabs runs on your local machine and works with Python 3.6.x, 3.7x, or 3.8x. Note that PerceptiLabs will not work with versions older or newer than these versions.

We recommend that you set up a virtual Python environment as described in the Quickstart Guide.

Your short output for -vvv installation says on line 1

Using pip 21.2.4 from c:\python39\lib\site-packages\pip (python 3.9)

Answer: PL doesn’t work with Python 3.9, which you are using. You need Python 3.8 - I am using 3.8.10.

NB the key info is also available in this section of your output: (from (requires-python:>=3.6,<3.8)

which should be <=3.8 but, you get the idea! :slight_smile:

Hopefully if you create an environment with a compatible Python version everything should run smoothly…

Just in case it doesn’t it’s always good to share a record of exactly how the environment was created (commands used, in order)… but were not there yet.

Try Python 3.8.10 and let us know how it does.