Docker无法build立,因为找不到需求的匹配分配

我很难让我的应用程序在Docker上。 目前我正在尝试构build它,但我正在运行一个错误,我不知道如何解决。

当我运行docker-compose build ,它正在下载和下载,但是当它试图收集json ,它给出了错误:

 Could not find a version that satisfies the requirement json (from -r requirements.txt (line 2)) (from versions: ) No matching distribution found for json (from -r requirements.txt (line 2)) 

我的烧瓶应用程序的要求是

 flask json pandas pymongo math heapq functools numpy scipy itertools 

我的docker组成文件是

 web: restart: always build: . command: python -u app.py ports: - "5000:5000" volumes: - /usr/app links: - mongodb mongodata: image: mongo:3.2.7 volumes: - /data/db mongodb: image: mongo:3.2.7 ports: - "27017:27017" volumes_from: - mongodata 

我的文件结构是

 /myapp /utils /__init__.py /utils_funcs.py app.py 

从Python 2.6开始, json已经被添加到Python中,您需要将它从需求文件中移除。

在你的需求文件中,你也有像mathitertools这样的东西,它们是Python的一部分。

需求文件适用于您的应用程序所需的不属于Python核心的软件包; 基本上无论你使用pip安装。

创build需求文件的最简单方法是使用pip freeze > requirements.txt – 这将创build一个仅具有外部需求的需求文件。

您的需求文件应该如下所示:

 flask pandas pymongo numpy scipy