Я пытаюсь создать образ Docker. Dockerfile выглядит следующим образом:
# Use the official Python 3.6.5 image FROM python:3.6.5-alpine3.7 # Set the working directory to /app WORKDIR /app # Get the COPY requirements.txt /app RUN pip3 install --no-cache-dir -r requirements.txt # Configuring access to Jupyter RUN mkdir /notebooks RUN jupyter notebook --no-browser --ip 0.0.0.0 --port 8888 /notebooks
Файл needs.txt:
jupyter numpy==1.14.3 pandas==0.23.0rc2 scipy==1.0.1 scikit-learn==0.19.1 pillow==5.1.1 matplotlib==2.2.2 seaborn==0.8.1
Запуск команды docker build -t standard . выдает ошибку, когда Docker пытается установить pandas. Ошибка следующая:
docker build -t standard .
Collecting pandas==0.23.0rc2 (from -r requirements.txt (line 3)) Downloading https://files.pythonhosted.org/packages/46/5c/a883712dad8484ef907a2f42992b122acf2bcecbb5c2aa751d1033908502/pandas-0.23.0rc2.tar.gz (12.5MB) Complete output from command python setup.py egg_info: /bin/sh: svnversion: not found /bin/sh: svnversion: not found non-existing path in 'numpy/distutils': 'site.cfg' Could not locate executable gfortran ... (loads of other stuff) Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-xb6f6a5o/pandas/ The command '/bin/sh -c pip3 install --no-cache-dir -r requirements.txt' returned a non-zero code: 1
Когда я пытаюсь установить более низкую версию pandas == 0.22.0, я получаю эту ошибку:
Step 5/7 : RUN pip3 install --no-cache-dir -r requirements.txt ---> Running in 5810ea896689 Collecting jupyter (from -r requirements.txt (line 1)) Downloading https://files.pythonhosted.org/packages/83/df/0f5dd132200728a86190397e1ea87cd76244e42d39ec5e88efd25b2abd7e/jupyter-1.0.0-py2.py3-none-any.whl Collecting numpy==1.14.3 (from -r requirements.txt (line 2)) Downloading https://files.pythonhosted.org/packages/b0/2b/497c2bb7c660b2606d4a96e2035e92554429e139c6c71cdff67af66b58d2/numpy-1.14.3.zip (4.9MB) Collecting pandas==0.22.0 (from -r requirements.txt (line 3)) Downloading https://files.pythonhosted.org/packages/08/01/803834bc8a4e708aedebb133095a88a4dad9f45bbaf5ad777d2bea543c7e/pandas-0.22.0.tar.gz (11.3MB) Could not find a version that satisfies the requirement Cython (from versions: ) No matching distribution found for Cython The command '/bin/sh -c pip3 install --no-cache-dir -r requirements.txt' returned a non-zero code: 1
Я также пытался установить Cyphon и setuptools перед пандами, но он выдал ту же ошибку No matching distribution found for Cython в строке pand3 install pandas.
No matching distribution found for Cython
Как мне установить панд.
Alpine не содержит инструментов сборки по умолчанию. Установите инструмент сборки и создайте символическую ссылку для локали:
$ apk add --update curl gcc g++ $ ln -s /usr/include/locale.h /usr/include/xlocale.h $ pip install numpy
На основе https://wired -world.com /? P = 100
Теперь я могу создать образ Docker. Должно быть, были некоторые несовместимости версий между FROM python:3.6.5-alpine3.7 и пандами. Я изменил версию Python на FROM python:3, затем она работала нормально (также пришлось понизить версию pillow до 5.1.0).
FROM python:3.6.5-alpine3.7
FROM python:3
pillow
5.1.0