Search code examples
pythonflaskpipibm-cloudflask-wtforms

Defining a correct requirements.txt file


I have developed a Flask web application that works on my local computer but which I am now trying to port onto the web (via IBM Bluemix). My first attempt to do so was unsuccessful. The error message I receive is:

Server error, status code: 400, error code: 170001, message: Staging error: no available stagers

When I check the log files with cf logs myapp --recent I find:

2015-11-08T15:34:15.92-0500 [STG/35]     OUT -----> Downloaded app package (72K)
2015-11-08T15:34:19.98-0500 [STG/35]     OUT -----> Downloaded app buildpack cache (39M)
2015-11-08T15:34:24.82-0500 [STG/0]      OUT -------> Buildpack version 1.3.1
2015-11-08T15:34:40.57-0500 [STG/0]      OUT -----> Installing dependencies with pip
2015-11-08T15:34:41.54-0500 [STG/0]      OUT        You are using pip version 6.1.0.dev0, however version 7.1.2 is available.
2015-11-08T15:34:41.54-0500 [STG/0]      OUT        You should consider upgrading via the 'pip install --upgrade pip' command.
2015-11-08T15:34:41.56-0500 [STG/0]      OUT        Collecting flask.ext.wtf (from -r requirements.txt (line 2))
2015-11-08T15:34:41.88-0500 [STG/0]      OUT          Could not find a version that satisfies the requirement flask.ext.wtf (from -r requirements.txt (line 2)) (from versions: )
2015-11-08T15:34:41.88-0500 [STG/0]      OUT          No matching distribution found for flask.ext.wtf (from -r requirements.txt (line 2))
2015-11-08T15:34:41.96-0500 [STG/0]      OUT Staging failed: Buildpack compilation step failed
2015-11-08T15:34:41.97-0500 [STG/0]      ERR 
2015-11-08T15:34:42.67-0500 [API/2]      ERR encountered error: App staging failed in the buildpack compile phase
2015-11-08T15:35:37.75-0500 [API/3]      OUT Updated app with guid b580bb64-4415-4bb4-8fd1-1e4d3de4f7d9 ({"name"=>"cultural-insight", "memory"=>128, "environment_json"=>"PRIVATE DATA HIDDEN"})
2015-11-08T15:35:49.95-0500 [API/3]      OUT Updated app with guid b580bb64-4415-4bb4-8fd1-1e4d3de4f7d9 ({"state"=>"STOPPED"})
2015-11-08T15:35:52.41-0500 [DEA/113]    OUT Got staging request for app with id b580bb64-4415-4bb4-8fd1-1e4d3de4f7d9
2015-11-08T15:35:52.47-0500 [API/0]      ERR exception handling first response Staging error: failed to stage application:
2015-11-08T15:35:52.47-0500 [API/0]      ERR Not enough memory resources available
2015-11-08T15:50:52.42-0500 [API/0]      ERR encountered error: Staging error: failed to stage application: staging had already been marked as failed, this could mean that staging took too long

The problem appears to be that pip can't find Flask-WTF, which I need for my application to work.

I installed Flask-WTF on my local machine with pip install Flask-WTF. The contents of requirements.txt, which the builder ingests while setting up, is simply:

Flask==0.10.1 Flask-WTF

In particular, I am unsure why pip is asking for flask.ext.wtf? Additionally it is troubling me that the application says it is limited to 128 MB, when I bumped it up to 512 MB.

Altogether, I'm not sure what's going on. How do I resolve this issue? The full source code is here.


Solution

  • run this (EDITED):

    pip install --upgrade pip
    

    and update your requirements.txt file:

    pip freeze > requirements.txt