2016-07-06 71 views
0

我很難在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 
+0

我注意到了錯誤信息,似乎在一個空白的版本號被人指指點點。 '從版本:'。問題可能出現在您的require.txt文件中。小心分享? –

回答

3

json因爲Python 2.6已經加入到了Python,你需要從需求文件中刪除。

您還有類似mathitertools的東西,它們是您的需求文件中Python的一部分。

需求文件適用於您的應用程序所需的不屬於Python核心的軟件包;基本上無論你使用pip安裝。

創建需求文件的最簡單方法是使用pip freeze > requirements.txt - 這將創建僅具有外部需求的需求文件。

你要求的文件應該是這樣的:

flask 
pandas 
pymongo 
numpy 
scipy 
+0

functools呢? – AlanH

+0

'functools'自2.5開始就在Python中; [這裏是文檔](https://docs.python.org/2/library/functools.html)。 –

+0

對不起,我的意思是heapq! – AlanH

相關問題