I’m installing several Python packages in Ubuntu 12.04 using the following
numpy>=1.8.2,<2.0.0 matplotlib>=1.3.1,<2.0.0 scipy>=0.14.0,<1.0.0 astroML>=0.2,<1.0 scikit-learn>=0.14.1,<1.0.0 rpy2>=2.4.3,<3.0.0
and these two commands:
$ pip install --download=/tmp -r requirements.txt $ pip install --user --no-index --find-links=/tmp -r requirements.txt
(the first one downloads the packages and the second one installs them).
The process is frequently stopped with the error:
Could not find a version that satisfies the requirement <package> (from matplotlib<2.0.0,>=1.3.1->-r requirements.txt (line 2)) (from versions: ) No matching distribution found for <package> (from matplotlib<2.0.0,>=1.3.1->-r requirements.txt (line 2))
which I fix manually with:
pip install --user <package>
and then run the second
pip install command again.
But that only works for that particular package. When I run the second
pip install command again, the process is stopped now complaining about another required package and I need to repeat the process again, ie: install the new required package manually (with the command above) and then run the second
pip install command.
So far I’ve had to manually install
nose, and now it’s complaining about needing
Is there a way to tell
pip to automatically install all needed dependencies so I don’t have to do it manually one by one?
Add: This only happens in Ubuntu 12.04 BTW. In Ubuntu 14.04 the
pip install commands applied on the
requirements.txt file work without issues.
This approach (having all dependencies in a directory and not downloading from an index) only works when the directory contains all packages. The directory should therefore contain all dependencies but also all packages that those dependencies depend on (e.g.,
You should therefore manually include these in
requirements.txt (so that the first step downloads them explicitly) or you should install all packages using PyPI and then
pip freeze > requirements.txt to store the list of all packages needed.
I had installed python3 but my python in /usr/bin/python was still the old 2.7 version
This worked (
pyserial in my case):
python3 -m pip install <pkg>
After 2 hours of searching, I found a way to fix it with just one line of command. You need to know the version of the package (Just search up PACKAGE version).
python3 -m pip install --pre --upgrade PACKAGE==VERSION.VERSION.VERSION
Below command worked for me –
python -m pip install flask
Although it doesn’t really answers this specific question. Others got the same error message with this mistake.
For those who like me initial forgot the
pip install -r requirements.txt the
-r is essential for the command.
The original answer:
Not always, but in some cases the package already exists. For example – getpass. It is not listed by “pip list” but it can be imported and used:
If I try to pip install getpass I get the following error:
“Could not find a version that satisfies the requirement getpass”
Try installing flask through the powershell using the following command.
pip install --isolated Flask
This will allow installation to avoide environment variables and user configuration.
Just a reminder to whom google this error and come here.
Let’s say I get this error:
$ python3 example.py Traceback (most recent call last): File "example.py", line 7, in <module> import aalib ModuleNotFoundError: No module named 'aalib'
Since it mentions
aalib, I was thought to try
$ python3.8 -m pip install aalib ERROR: Could not find a version that satisfies the requirement aalib (from versions: none) ERROR: No matching distribution found for aalib
Then install successfully:
$ python3.8 -m pip install python-aalib Collecting python-aalib Downloading python-aalib-0.3.2.tar.gz (14 kB) ...
pip --help stated:
$ python3.8 -m pip --help ... -v, --verbose Give more output. Option is additive, and can be used up to 3 times.
To have a systematic way to figure out the root causes instead of rely on luck, you can append
-vvv option of
pip command to see details, e.g.:
$ python3.8 -u -m pip install aalib -vvv User install by explicit request Created temporary directory: /tmp/pip-ephem-wheel-cache-b3ghm9eb Created temporary directory: /tmp/pip-req-tracker-ygwnj94r Initialized build tracking at /tmp/pip-req-tracker-ygwnj94r Created build tracker: /tmp/pip-req-tracker-ygwnj94r Entered build tracker: /tmp/pip-req-tracker-ygwnj94r Created temporary directory: /tmp/pip-install-jfurrdbb 1 location(s) to search for versions of aalib: * https://pypi.org/simple/aalib/ Fetching project page and analyzing links: https://pypi.org/simple/aalib/ Getting page https://pypi.org/simple/aalib/ Found index url https://pypi.org/simple Getting credentials from keyring for https://pypi.org/simple Getting credentials from keyring for pypi.org Looking up "https://pypi.org/simple/aalib/" in the cache Request header has "max_age" as 0, cache bypassed Starting new HTTPS connection (1): pypi.org:443 https://pypi.org:443 "GET /simple/aalib/ HTTP/1.1" 404 13 [hole] Status code 404 not in (200, 203, 300, 301) Could not fetch URL https://pypi.org/simple/aalib/: 404 Client Error: Not Found for url: https://pypi.org/simple/aalib/ - skipping Given no hashes to check 0 links for project 'aalib': discarding no candidates ERROR: Could not find a version that satisfies the requirement aalib (from versions: none) Cleaning up... Removed build tracker: '/tmp/pip-req-tracker-ygwnj94r' ERROR: No matching distribution found for aalib Exception information: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 186, in _main status = self.run(options, args) File "/usr/lib/python3/dist-packages/pip/_internal/commands/install.py", line 357, in run resolver.resolve(requirement_set) File "/usr/lib/python3/dist-packages/pip/_internal/legacy_resolve.py", line 177, in resolve discovered_reqs.extend(self._resolve_one(requirement_set, req)) File "/usr/lib/python3/dist-packages/pip/_internal/legacy_resolve.py", line 333, in _resolve_one abstract_dist = self._get_abstract_dist_for(req_to_install) File "/usr/lib/python3/dist-packages/pip/_internal/legacy_resolve.py", line 281, in _get_abstract_dist_for req.populate_link(self.finder, upgrade_allowed, require_hashes) File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 249, in populate_link self.link = finder.find_requirement(self, upgrade) File "/usr/lib/python3/dist-packages/pip/_internal/index/package_finder.py", line 926, in find_requirement raise DistributionNotFound( pip._internal.exceptions.DistributionNotFound: No matching distribution found for aalib
From above log, there is pretty obvious the URL
https://pypi.org/simple/aalib/ 404 not found. Then you can guess the possible reasons which cause that 404, i.e. wrong package name. Another thing is I can modify relevant python files of pip modules to further debug with above log. To edit
.whl file, you can use
wheel command to
If you facing this issue at the workplace. This might be the solution for you.
pip install -U <package_name> --user --proxy=<your proxy>
I got this error while installing
awscli on Windows 10 in anaconda (python 3.7).
While troubleshooting, I went to the answer https://stackoverflow.com/a/49991357/6862405 and then to https://stackoverflow.com/a/54582701/6862405. Finally found that I need to install the libraries
ipaddress. After installing these (using simply
pip install command), I was able to install
Just follow the requirements listed on the project’s page: https://pypi.org/project/pgmagick/
Same error in slightly different circumstances, on MacOs. Apparently setuptools versions past 45 can expose some issues and this command got me past it:
pip3 install setuptools==45
Use Command Prompt, and then select Run as administrator.
Upgrade the pip version
To upgrade PIP, type this command, and then press Enter:-
python.exe -m pip install –upgrade pip
Go Back to python path C:UsersJackAppDataLocalProgramsPythonPython37Scripts
Type jupyter notebook
You will be redirected to http://localhost:8888/undefined/tree – Jupyter Home Page
Hope it helps !!!!!!!!!!!
sudo pip install wheel==0.29.0