So I have a requirements file that looks like this -
aiohttp==3.5.4
aioredis==1.2.0
amqp==2.4.2
asn1crypto==0.24.0
astroid==2.1.0
async-timeout==3.0.1
atomicwrites==1.3.0
# so on...
I run
pip install -r requirements.txt
locally and everything works fine.
However, when I use this Dockerfile
FROM python:2.7-slim
WORKDIR /app
COPY . /app
# Install any needed packages specified in requirements.txt
RUN pip install -r requirements.txt
EXPOSE 80
ENV FLASK_APP=iterative.py
ENV FLASK_ENV=development
RUN pip install gunicorn
CMD ["gunicorn -w 4 app:app"]
I get this error -
Could not find a version that satisfies the requirement aiohttp==3.5.4 (from -r requirements.txt (line 1)) (from versions: 0.1, 0.2, 0.3, 0.4, 0.4.1, 0.4.2, 0.4.3, 0.4.4, 0.5.0, 0.6.0, 0.6.1, 0.6.2, 0.6.3, 0.6.4, 0.6.5, 0.7.0, 0.7.1, 0.7.2, 0.7.3, 0.8.0, 0.8.1, 0.8.2, 0.8.3, 0.8.4, 0.9.0, 0.9.1, 0.9.2, 0.9.3, 0.10.0, 0.10.1, 0.10.2, 0.11.0, 0.12.0, 0.13.0, 0.13.1, 0.14.0, 0.14.1, 0.14.2, 0.14.3, 0.14.4, 0.15.0, 0.15.1, 0.15.2, 0.15.3, 0.16.0, 0.16.1, 0.16.2, 0.16.3, 0.16.4, 0.16.5, 0.16.6, 0.17.0, 0.17.1, 0.17.2, 0.17.3, 0.17.4, 0.18.0, 0.18.1, 0.18.2, 0.18.3, 0.18.4, 0.19.0, 0.20.0, 0.20.1, 0.20.2, 0.21.0, 0.21.1, 0.21.2, 0.21.4, 0.21.5, 0.21.6, 0.22.0a0, 0.22.0b0, 0.22.0b1, 0.22.0b2, 0.22.0b3, 0.22.0b4, 0.22.0b5, 0.22.0b6, 0.22.0, 0.22.1, 0.22.2, 0.22.3, 0.22.4, 0.22.5, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.5, 1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5, 1.1.6, 1.2.0, 1.3.0, 1.3.1, 1.3.2, 1.3.3, 1.3.4, 1.3.5, 2.0.0rc1, 2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.0.6.post1, 2.0.7, 2.1.0, 2.2.0, 2.2.1, 2.2.2, 2.2.3, 2.2.4, 2.2.5, 2.3.0a4, 2.3.0, 2.3.1, 2.3.2b2)
No matching distribution found for aiohttp==3.5.4 (from -r requirements.txt (line 1))
Moreover, my python version locally is 2.7.15.
If I add
RUN pip install aiohttp
I get this error when building
aiohttp requires Python '>=3.4.2' but the running Python is 2.7.16
So I have two questions -
Why does my pip install work correctly locally, but when building my docker image?
Why does aiohttp require python version >=3.4.2, when I run in Docker, but not locally?
Thanks
Ok I solved this.
Ostensibly, the solution is to use a more modern version of python - I ended up using 3.6.
I think what was happening though was that pip was using python3, while python command lined was version 2.7.15.
Related
I got this error :
(base) C:\Users\pkaragiannopoulos>pip install xarray==2022.3.0
Collecting xarray==2022.3.0
ERROR: Could not find a version that satisfies the requirement xarray==2022.3.0 (from versions: 0.7.0, 0.7.1, 0.7.2, 0.8.0rc1, 0.8.0, 0.8.1, 0.8.2, 0.9.0rc1, 0.9.0, 0.9.1, 0.9.2, 0.9.3, 0.9.4, 0.9.5, 0.9.6, 0.10.0rc1, 0.10.0rc2, 0.10.0, 0.10.1, 0.10.2, 0.10.3, 0.10.4, 0.10.5, 0.10.6, 0.10.7, 0.10.8, 0.10.9, 0.11.0, 0.11.1, 0.11.2, 0.11.3, 0.12.0, 0.12.1, 0.12.2, 0.12.3, 0.13.0, 0.14.0, 0.14.1, 0.15.0, 0.15.1, 0.16.0, 0.16.1, 0.16.2, 0.17.0, 0.18.0, 0.18.1, 0.18.2, 0.19.0, 0.20.0, 0.20.1, 0.20.2)
ERROR: No matching distribution found for xarray==2022.3.0
I need to install that dependency in order to install gempy
I have tried to install the dependency but it didn't work
Conda resolves dependencies, so it should work to just do
conda install -c conda-forge gempy
I have a python Codeartifact repository which has an upstream PyPI repo.
In PyPI a new version of a library (google-auth 2.3.1) was published on the 25th of October, but whenever I try to install it via Codeartifact the latest available version is 2.3.0.
Is there a way to tell Codeartifact that the upstream has newer versions? How long does it takes for Codeartifact to pick up updates in PyPI?
This is the only source I found from AWS which states that this can happen but not how to solve it: https://docs.aws.amazon.com/codeartifact/latest/ug/external-connection.html#external-connection-unavailable
Error message:
ERROR: No matching distribution found for google-authpip3 install google-auth==2.3.1
Looking in indexes: https://aws:****#packages-****.d.codeartifact.eu-central-1.amazonaws.com/pypi/common/simple/
ERROR: Could not find a version that satisfies the requirement google-auth==2.3.1 (from versions: 0.0.1, 0.1.0, 0.2.0, 0.3.0, 0.3.1, 0.3.2, 0.4.0, 0.5.0, 0.6.0, 0.7.0, 0.8.0, 0.9.0, 0.10.0, 1.0.0, 1.0.1, 1.0.2, 1.1.0, 1.1.1, 1.2.0, 1.2.1, 1.3.0, 1.4.0, 1.4.1, 1.4.2, 1.5.0, 1.5.1, 1.6.0, 1.6.1, 1.6.2, 1.6.3, 1.7.0, 1.7.1, 1.7.2, 1.8.0, 1.8.1, 1.8.2, 1.9.0, 1.10.0, 1.10.1, 1.10.2, 1.11.0, 1.11.1, 1.11.2, 1.11.3, 1.12.0, 1.13.0, 1.13.1, 1.14.0, 1.14.1, 1.14.2, 1.14.3, 1.15.0, 1.16.0, 1.16.1, 1.17.0, 1.17.1, 1.17.2, 1.18.0, 1.19.0, 1.19.1, 1.19.2, 1.20.0, 1.20.1, 1.21.0, 1.21.1, 1.21.2, 1.21.3, 1.22.0, 1.22.1, 1.23.0, 1.24.0, 1.25.0, 1.26.0, 1.26.1, 1.27.0, 1.27.1, 1.28.0, 1.28.1, 1.29.0, 1.30.0, 1.30.1, 1.30.2, 1.31.0, 1.32.0, 1.32.1, 1.33.0, 1.33.1, 1.34.0, 1.35.0, 2.0.0.dev0, 2.0.0b1, 2.0.0, 2.0.1, 2.0.2, 2.1.0, 2.2.0, 2.2.1, 2.3.0)
Solution which works for me right now:
create venv if not available python3 -m venv .venv
activate it source .venv/bin/activate
install the package given in the log-statement eg pip install google-authpip3 --no-cache
run poetry again poetry install
if more errors occur, continue with 3)
My assumption is, that the local pip/poetry cache is not up to date. So I force pip to fetch the latest versions
I uploaded a Python app to Heroku. In my requirements.txt file I have a line for ipython==7.17.0 but Heroku seems unable to retrieve it, I don't understand why this might happen because I'm able to download that ipython version on my machine.
The complete error thrown is:
ERROR: Could not find a version that satisfies the requirement ipython==7.17.0 (from -r /tmp/build_76afe907/requirements.txt (line 32)) (from versions: 0.10, 0.10.1, 0.10.2, 0.11, 0.12, 0.12.1, 0.13, 0.13.1, 0.13.2, 1.0.0, 1.1.0, 1.2.0, 1.2.1, 2.0.0, 2.1.0, 2.2.0, 2.3.0, 2.3.1, 2.4.0, 2.4.1, 3.0.0, 3.1.0, 3.2.0, 3.2.1, 3.2.2, 3.2.3, 4.0.0b1, 4.0.0, 4.0.1, 4.0.2, 4.0.3, 4.1.0rc1, 4.1.0rc2, 4.1.0, 4.1.1, 4.1.2, 4.2.0, 4.2.1, 5.0.0b1, 5.0.0b2, 5.0.0b3, 5.0.0b4, 5.0.0rc1, 5.0.0, 5.1.0, 5.2.0, 5.2.1, 5.2.2, 5.3.0, 5.4.0, 5.4.1, 5.5.0, 5.6.0, 5.7.0, 5.8.0, 5.9.0, 5.10.0, 6.0.0rc1, 6.0.0, 6.1.0, 6.2.0, 6.2.1, 6.3.0, 6.3.1, 6.4.0, 6.5.0, 7.0.0b1, 7.0.0rc1, 7.0.0, 7.0.1, 7.1.0, 7.1.1, 7.2.0, 7.3.0, 7.4.0, 7.5.0, 7.6.0, 7.6.1, 7.7.0, 7.8.0, 7.9.0, 7.10.0, 7.10.1, 7.10.2, 7.11.0, 7.11.1, 7.12.0, 7.13.0, 7.14.0, 7.15.0, 7.16.0, 7.16.1)
ERROR: No matching distribution found for ipython==7.17.0 (from -r /tmp/build_76afe907/requirements.txt (line 32))
The last allowed version is 7.16.1, that means you use Python 3.6.
7.17 requires Python 3.7+.
When I try to install my project from the requirements.txt file, I run pip install -r requirements.txt and it fails on my pandas dependency. I am not exactly sure why does anyone have any advice?
pip version:
pip 20.0.2 from c:\users\name\appdata\local\programs\python\python35\lib\site-packages\pip (python 3.5)
requirements.txt:
numpy==1.18.2
pandas==1.0.3
python-dateutil==2.8.1
pytz==2019.3
six==1.14.0
Error:
ERROR: Could not find a version that satisfies the requirement pandas==1.0.3 (from -r requirements.txt (line 2)) (from versions: 0.1, 0.2b0, 0.2b1, 0.2, 0.3.0b0, 0.3.0b2, 0.3.0, 0.4.0, 0.4.1, 0.4.2, 0.4.3, 0.5.0, 0.6.0, 0.6.1, 0.7.0rc1, 0.7.0, 0.7.1, 0.7.2, 0.7.3, 0.8.0rc1, 0.8.0rc2, 0.8.0, 0.8.1, 0.9.0, 0.9.1, 0.10.0, 0.10.1, 0.11.0, 0.12.0, 0.13.0, 0.13.1, 0.14.0, 0.14.1, 0.15.0, 0.15.1, 0.15.2, 0.16.0, 0.16.1, 0.16.2, 0.17.0, 0.17.1, 0.18.0, 0.18.1, 0.19.0rc1, 0.19.0, 0.19.1, 0.19.2, 0.20.0rc1, 0.20.0, 0.20.1, 0.20.2, 0.20.3, 0.21.0rc1, 0.21.0, 0.21.1, 0.22.0, 0.23.0rc2, 0.23.0, 0.23.1, 0.23.2, 0.23.3, 0.23.4, 0.24.0rc1, 0.24.0, 0.24.1, 0.24.2)
ERROR: No matching distribution found for pandas==1.0.3 (from -r requirements.txt (line 2))
Something like that happened to me in the past. I solved it by uninstalling pandas then reinstalling it again. Perhaps you installed pandas long time ago so your version of out of date.
pandas 1.0.0 requires Python 3.6+. The last version that supports Python 3.5 is 0.25.3. Either use the version or upgrade to Python 3.6+ (3.6, 3.7 or 3.8).
When I install turicreate package, it gives me the following error:
Collecting tensorflow>=2.0.0 (from turicreate)
Could not find a version that satisfies the requirement tensorflow>=2.0.0 (from turicreate) (from versions: 0.12.1, 1.0.0, 1.0.1, 1.1.0rc0, 1.1.0rc1, 1.1.0rc2, 1.1.0, 1.2.0rc0, 1.2.0rc1, 1.2.0rc2, 1.2.0, 1.2.1, 1.3.0rc0, 1.3.0rc1, 1.3.0rc2, 1.3.0, 1.4.0rc0, 1.4.0rc1, 1.4.0, 1.4.1, 1.5.0rc0, 1.5.0rc1, 1.5.0, 1.5.1, 1.6.0rc0, 1.6.0rc1, 1.6.0, 1.7.0rc0, 1.7.0rc1, 1.7.0, 1.7.1, 1.8.0rc0, 1.8.0rc1, 1.8.0, 1.9.0rc0, 1.9.0rc1, 1.9.0rc2, 1.9.0, 1.10.0rc0, 1.10.0rc1, 1.10.0, 1.10.1, 1.11.0rc0, 1.11.0rc1, 1.11.0rc2, 1.11.0, 1.12.0rc0, 1.12.0rc1, 1.12.0rc2, 1.12.0, 1.12.2, 1.12.3, 1.13.0rc0, 1.13.0rc1, 1.13.0rc2, 1.13.1, 1.13.2, 1.14.0rc0, 1.14.0rc1, 1.14.0, 2.0.0a0, 2.0.0b0, 2.0.0b1)
No matching distribution found for tensorflow>=2.0.0 (from turicreate)
which I encountered the same when installing tensorflow 2.0.0.
And I managed to install tensorflow2 with modification to the version(add a 'a0','b0','b1' after '2.0.0') using pip3 install tensorflow==2.0.0a0. However, I still cannot pass the installation of turicreate even with tensorflow2.0.0a0 installed and result in the same 'tensorflow error' shown above.
I am using python 3.6, numpy 1.16.5.
Can you please help me out?
Upgrade pip
# On Linux or macOS:
pip3 install -U pip
# On Windows:
python -m pip3 install -U pip
Install turicreate
pip3 install turicreate
This will solve your problem
I was having the same problem when I tried to install turicreate on the Jupyter Docker image that comes with some data science libraries loaded:
Image: jupyter/scipy-notebook
Packages: pandas, numexpr, matplotlib, scipy, seaborn, scikit-learn, scikit-image, sympy, cython, patsy, statsmodel, cloudpickle, dill, numba, bokeh, sqlalchemy, hdf5, vincent, beautifulsoup, protobuf, and xlrd packages
Error message:
Could not find a version that satisfies the requirement tensorflow>=2.0.0 (from turicreate) (from versions: 0.12.1, 1.0.0, 1.0.1, 1.1.0rc0, 1.1.0rc1, 1.1.0rc2, 1.1.0, 1.2.0rc0, 1.2.0rc1, 1.2.0rc2, 1.2.0, 1.2.1, 1.3.0rc0, 1.3.0rc1, 1.3.0rc2, 1.3.0, 1.4.0rc0, 1.4.0rc1, 1.4.0, 1.4.1, 1.5.0rc0, 1.5.0rc1, 1.5.0, 1.5.1, 1.6.0rc0, 1.6.0rc1, 1.6.0, 1.7.0rc0, 1.7.0rc1, 1.7.0, 1.7.1, 1.8.0rc0, 1.8.0rc1, 1.8.0, 1.9.0rc0, 1.9.0rc1, 1.9.0rc2, 1.9.0, 1.10.0rc0, 1.10.0rc1, 1.10.0, 1.10.1, 1.11.0rc0, 1.11.0rc1, 1.11.0rc2, 1.11.0, 1.12.0rc0, 1.12.0rc1, 1.12.0rc2, 1.12.0, 1.12.2, 1.12.3, 1.13.0rc0, 1.13.0rc1, 1.13.0rc2, 1.13.1, 1.13.2, 1.14.0rc0, 1.14.0rc1, 1.14.0, 2.0.0a0, 2.0.0b0, 2.0.0b1)
No matching distribution found for tensorflow>=2.0.0 (from turicreate)
However, when I took the basic (stripped) Jupyter image, it worked:
Image: jupyter/base-notebook
Packages: git, emacs, jed, nano, tzdata, and unzip
Installation instructions for turicreate:
from __future__ import print_function
import sys
!{sys.executable} -m pip install turicreate
Output:
Successfully installed absl-py-0.9.0 astor-0.8.1 cachetools-4.0.0 coremltools-3.1 gast-0.2.2 google-auth-1.10.0 google-auth-oauthlib-0.4.1 google-pasta-0.1.8 grpcio-1.26.0 h5py-2.10.0 keras-applications-1.0.8 keras-preprocessing-1.1.0 llvmlite-0.30.0 markdown-3.1.1 numba-0.46.0 numpy-1.16.4 opt-einsum-3.1.0 pandas-0.25.3 pillow-6.2.1 prettytable-0.7.2 protobuf-3.11.2 pyasn1-0.4.8 pyasn1-modules-0.2.7 pytz-2019.3 requests-oauthlib-1.3.0 resampy-0.2.1 rsa-4.0 scipy-1.4.1 tensorboard-2.0.2 tensorflow-2.0.0 tensorflow-estimator-2.0.1 termcolor-1.1.0 turicreate-6.0 werkzeug-0.16.0 wrapt-1.11.2
So, I guess the problem is that some of the libraries that you have installed in your environment conflict with turicreate. Perhaps you should try to use the above mentioned Docker image or try to create a virtual environment so you work in isolation (not tested this).
Info on the different Docker images:
https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html#jupyter-scipy-notebook
Turicreate installation instructions where they comment on the virtual environment:
https://github.com/apple/turicreate#installation
Firstly, give try to a latest version of pip pip3 install -U pip, usually, it has less problems than previous.
Otherwise, if above fails, you can try running with pip3 install --no-deps turicreate to get past the cryptic error.
You'll need to install the dependencies manually. All 110 of them.
You can generate a list of them with something along these lines:
import os;
s = os.popen('pip3 freeze turicreate').read()
for q in [x.split('==')[0] for x in s.split('\n')]:
os.system('echo {} >> t.tmp'.format(q)
Then they can be installed with pip install -r t.tmp or for x in $(cat t.tmp); do pip3 install $x; done
I'm not sure how the funtionality related to the tensorflow or any other failed package is affected by this but I've managed to get simple sframes working with this method.
Then I've upgraded the pip and all the libs that weren't working installed without a problem.
Try upgrading pip. Tensorflow 2.0 needs newer versions of pip to be installed.
Personally this worked,
upgrade pip
installed tf2.0
installed turicreate.