Docker无法构建,因为无法找到需求的匹配分布

时间:2016-07-06 02:56:42

标签: python json docker

我在Docker上获取应用程序时遇到了困难。目前我正在尝试构建它,但我遇到了一个错误,我无法弄清楚如何解决。

当我运行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-compose文件是

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

1 个答案:

答案 0 :(得分:3)

自Python 2.6以来,

json已添加到Python中,您需要将其从需求文件中删除。

您的需求文件中还包含mathitertools等内容。

需求文件适用于您的应用程序所需的不属于Python核心的软件包;基本上是使用pip安装的任何内容。

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

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

flask
pandas
pymongo
numpy
scipy