Установка библиотек из docker с установкой pip, я получаю сообщение об ошибке на контейнере - PullRequest
0 голосов
/ 03 марта 2020

У меня есть файл docker, когда я запускаю приложение docker -compose build, это нормально работает, Когда я вхожу в bash: docker exec -it project_1 /bin/bash и пытаюсь выполнить следующую команду python main.py, я получаю следующее ошибка:

 File "main.py", line 2, in <module>
    import pandas as pd
    ModuleNotFoundError: No module named 'pandas'

docker файл:

FROM python:3

ADD .   /var/projects/app
WORKDIR /var/projects/app
COPY requirements.txt ./
RUN chown -R webapp /var/projects/ && chmod -R u+rX /var/projects/
RUN pip install --upgrade pip && \
    pip install --no-cache-dir -r requirements.txt
COPY . .

CMD [ "python", "./main.py" ]
EXPOSE 8004

dokcer-compose.yml:

  version: '3.4'
volumes:
  app:
    driver: "local"
services:
    app:
      build:
        context: ./
        dockerfile: Dockerfile
      ports:
        - "8004:8004"
      volumes:
        - "./:/var/projects/app"

Requierements.txt

numpy==1.18
pandas==1.0.1

что не так?

1 Ответ

0 голосов
/ 03 марта 2020

Если вы используете docker -compose, вам следует использовать docker-compose exec <service_name> /bin/bash -l вместо команды docker exe c. docker exe c запустит ваше приглашение bash в новом контейнере, тогда как docker -compose найдет уже работающий контейнер (который предположительно имеет все ваши зависимости)

...