Docker ModuleNotFoundError:没有名为“ scipy”的模块

时间:2020-06-23 14:51:48

标签: python docker scipy docker-compose dockerfile

我正在通过构建其Docker映像来探索Python。我想使用scipy库,但是由于某些原因而无法导入。这是我的__init.py__文件的导入:

import numpy as np
import scipy.stats as sp
from flask import Flask, g
from flask_restful import Resource, Api, reqparse 

我的Dockerfile

FROM python:3

WORKDIR /usr/src/app

COPY requirements.txt ./

RUN pip install --no-cache-dir -r requirements.txt

COPY . .

CMD [ "python", "./run.py" ]

requirements.txt

numpy==1.19.0
scipy==0.15.1
Flask==0.12.2
markdown==2.6.11
flask-restful==0.3.6

最后是我的docker-compose.yml

version: '3.4'

services:
        calculator:
                build: .
                volumes:
                        - .:/usr/src/app
                ports:
                        - 5000:80

现在,当我执行docker-compose up时,这是错误消息:

calculator  | Traceback (most recent call last):
calculator  |   File "./run.py", line 1, in <module>
calculator  |     from probability_calculator import app
calculator  |   File "/usr/src/app/probability_calculator/__init__.py", line 2, in <module>
calculator  |     import scipy.stats as sp
calculator  | ModuleNotFoundError: No module named 'scipy'

我看过here,但是将这些行添加到Dockerfile似乎还是行不通的。

1 个答案:

答案 0 :(得分:0)

答案-requirements.txt的{​​{1}}版本较旧,因此无法正常工作,我将其提高到1.4.1,现在似乎可以正常工作了。