cloudfoundry / python-buildpack

Cloud Foundry buildpack for the Python Language
http://docs.cloudfoundry.org/buildpacks/
Apache License 2.0
119 stars 278 forks source link

Python Buildpack Compilation Error #52

Closed MasterSwift closed 7 years ago

MasterSwift commented 7 years ago

What version of Cloud Foundry are you using? 6.22.1+6b7af9c-2016-09-24

What version of the buildpack you are using? 1.5.5

If you were attempting to accomplish a task, what was it you were attempting to do? cf push

What did you expect to happen? Successfully push changes to my web app

What was the actual behavior?

Starting app MY-APP in org myemail@gmail.com / space test as myemail@gmail.com...
-----> Downloaded app package (13M)
-----> Downloaded app buildpack cache (30M)
-------> Buildpack version 1.5.5
-----> Found python-2.7.10, removing
-----> Installing python-3.5.2
DEPENDENCY MISSING IN MANIFEST: python 3.5.2
Unfortunately, that version of python is not supported by this build pack
- 3.5.1
- 3.5.0
- 3.4.4
- 2.7.11
- 2.7.10
It looks like you're trying to use python 3.5.2.
The versions of python supported in this build pack are
- 3.4.3
- 3.3.5
If you need further help, start by reading: http://github.com/cloudfoundry/python-buildpack/releases.
Staging failed: Buildpack compilation step failed

FAILED
Error restarting application: BuildpackCompileFailed

My requirements file: (Im using selenium and these packages also have dependencies which Im not sure if I should be putting in the requirements file.)

Flask==0.11.1
cloudant==2.2.0
Pyrebase==3.0.18

my runtime file:

`python-3.5.2`

my manifest file:

applications:

cf-gitbot commented 7 years ago

We have created an issue in Pivotal Tracker to manage this:

https://www.pivotaltracker.com/story/show/133386721

The labels on this github issue will be updated when the story is started.

jchesterpivotal commented 7 years ago

Hi @MasterSwift,

In the log you provided I see:

DEPENDENCY MISSING IN MANIFEST: python 3.5.2
Unfortunately, that version of python is not supported by this build pack

I also see that you're on buildpack 1.5.5.

As the log says, Python 3.5.2 was not supported in that buildpack release (In fact, Python 3.5.2 was not added until release v1.5.8 in June).

The most recent buildpack release, v1.5.11, also includes Python 3.5.2.

The resolution is to ask your operators to either:

  1. Upgrade the buildpacks using cf update-buildpack, or
  2. Upgrade their release of Cloud Foundry.

We don't think there is anything else we can do at this end, so we're closing.

MasterSwift commented 7 years ago

cf update-buildpack doesnt automatically update. Here's the log

Incorrect Usage: the required argument `BUILDPACK` was not provided

NAME:
   update-buildpack - Update a build pack

USAGE:
   cf update-buildpack BUILDPACK [-p PATH] [-i POSITION] [--enable|--disable] [--lock|--unlock]

TIP:
   Path should be a zip file, a url to a zip file, or a local directory. Position is a positive integer, sets priority, and is sorted from lowest to highest.

OPTIONS:
   --disable      Disable the buildpack from being used for staging
   --enable       Enable the buildpack to be used for staging
   -i             The order in which the buildpacks are checked during buildpack auto-detection
   --lock         Lock the buildpack to prevent updates
   -p             Path to directory or zip file
   --unlock       Unlock the buildpack to enable updates

SEE ALSO:
   buildpacks, rename-buildpack

What is the purpose of the path and position? I need to update my python build pack so here's my current build pack for python.

Build pack : Position : Enabled : Locked : Filename python_buildpack 10 true false python_buildpack-cached-v1.5.5.zip

RochesterinNYC commented 7 years ago

The way that you run cf-update buildpack is as the CLI Usage section indicates.

Example invocation:

cf update-buildpack python_buildpack -p python_buildpack.zip

However, your CF account will need admin operator privileges to perform this operation. I'd suggest reaching out to your CF operators.

Alternatively, you can specify the -b flag and pass in a github url to the buildpack with the version of the buildpack you wish to use like so:

cf push my_app -b https://github.com/cloudfoundry/python-buildpack#v1.5.11

MasterSwift commented 7 years ago

Is there any way I can get 1 on 1 help to help deploy my app. It been a ridiculous 1 month of trying to figure out how to deploy a simple flask-selenium-firebase app. 1 error after another. Your suggestion didnt work. Now I deleted my project to start over.

jchesterpivotal commented 7 years ago

Hi @MasterSwift,

I'm sorry it's frustrating.

As we noted above, the command won't work unless you are an operator. If it doesn't work for you, you need to contact the operator for your CF.

It looks as though you're pushing to Bluemix. The buildpacks team doesn't operate Bluemix. It's operated by IBM, their support page is here.

We don't know why IBM haven't updated the Python buildpack since March.

I myself work for Pivotal, another member of the Cloud Foundry Foundation. We operate a service that competes with Bluemix, Pivotal Web Services, which is kept up-to-date.

There are also other public Cloud Foundry providers who may be more up-to-date than Bluemix.

For live discussion, the buildpacks team is available on the Cloud Foundry Slack during NYC work hours.

jchesterpivotal commented 7 years ago

As an additional note, it looks as though Bluemix require you to provide a stack argument to a push in order to use an external buildpack.

So, updating @RochesterinNYC's example above:

cf push my_app -b https://github.com/cloudfoundry/python-buildpack#v1.5.11 -s cflinuxfs2

The relevant Bluemix documentation is here.

Bijaya196 commented 3 years ago

requests 2.21.0 has requirement idna<2.9,>=2.5, but you'll have idna 2.10 which is incompatible. django-image-cropping 1.1.0 has requirement django-appconf==1.0.1, but you'll have django-appconf 1.0.4 which is incompatible. Installing collected packages: appdirs, asn1crypto, soupsieve, beautifulsoup4, certifi, pycparser, cffi, chardet, urllib3, idna, requests, uritemplate, itypes, MarkupSafe, Jinja2, coreschema, coreapi, six, cryptography, defusedxml, distlib, dj-database-url, pytz, Django, django-admin-rangefilter, django-admin-sortable2, django-appconf, django-autocomplete-light, django-autoslug, django-ipware, django-axes, django-cors-headers, django-dynamic-raw-id, elasticsearch, python-dateutil, elasticsearch-dsl, django-elasticsearch-dsl, django-nine, djangorestframework, django-elasticsearch-dsl-drf, typing, django-extensions, django-filter, URLObject, django-spurl, django-folders, django-grappelli, django-hotspots, django-image-cropping, django-mptt, django-multiupload, django-parler, django-parler-rest, django-tinymce, python-magic, django-upload-validator, django-waffle, waitress, WebOb, WebTest, django-webtest, lxml, docx-mailmerge, olefile, Pillow, easy-thumbnails, future, eight, et-xmlfile, text-unidecode, Faker, factory-boy, feincms-cleanse, filelock, maxminddb, geoip2, gunicorn, hsaudiotag3k, webencodings, setuptools, html5lib, http-ece, httplib2, typing-extensions, zipp, importlib-metadata, importlib-resources, jdcal, oauthlib, requests-oauthlib, lti, mimesis, openpyxl, polib, psycopg2, py-vapid, PyJWT, pyOpenSSL, PyPDF2, pywebpush, radar, raven, reportlab, rules, signxml, virtualenv, whitenoise, xhtml2pdf, xmltodict, pyenchant, more-itertools, atomicwrites, pluggy, attrs, py, pytest, pytest-django, inflection, pytest-factoryboy, pytest-mock, pyparsing, packaging, termcolor, pytest-sugar, freezegun The script chardetect is installed in '/tmp/contents617317607/deps/0/python/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Running setup.py install for itypes: started Running setup.py install for itypes: finished with status 'done' Running setup.py install for coreschema: finished with status 'done' The script django-admin is installed in '/tmp/contents617317607/deps/0/python/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Running setup.py install for django-admin-sortable2: started Running setup.py install for django-admin-sortable2: finished with status 'done' Running setup.py install for django-autocomplete-light: started Running setup.py install for django-autocomplete-light: finished with status 'done' Running setup.py install for django-ipware: started Running setup.py install for django-ipware: finished with status 'done' Running setup.py install for URLObject: started Running setup.py install for URLObject: finished with status 'done' Running setup.py develop for django-folders Running setup.py install for django-grappelli: started Running setup.py install for django-grappelli: finished with status 'done' Running setup.py develop for django-hotspots Running setup.py install for django-image-cropping: started Running setup.py install for django-image-cropping: finished with status 'done' Running setup.py install for django-multiupload: started Running setup.py install for django-multiupload: finished with status 'done' Running setup.py install for django-upload-validator: started Running setup.py install for django-upload-validator: finished with status 'done' The script waitress-serve is installed in '/tmp/contents617317607/deps/0/python/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Running setup.py install for olefile: started Running setup.py install for olefile: finished with status 'done' Running setup.py install for easy-thumbnails: started Running setup.py install for easy-thumbnails: finished with status 'done' Running setup.py install for future: started Running setup.py install for future: finished with status 'done' Running setup.py install for et-xmlfile: started Running setup.py install for et-xmlfile: finished with status 'done' The script faker is installed in '/tmp/contents617317607/deps/0/python/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Running setup.py install for feincms-cleanse: started Running setup.py install for feincms-cleanse: finished with status 'done' Running setup.py install for maxminddb: started Running setup.py install for maxminddb: finished with status 'done' The scripts gunicorn and gunicorn_paster are installed in '/tmp/contents617317607/deps/0/python/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Running setup.py install for hsaudiotag3k: started Running setup.py install for hsaudiotag3k: finished with status 'done' Running setup.py install for http-ece: started Running setup.py install for http-ece: finished with status 'done' Running setup.py install for mimesis: started Running setup.py install for mimesis: finished with status 'done' Running setup.py install for openpyxl: started Running setup.py install for openpyxl: finished with status 'done' Running setup.py install for py-vapid: started The script pyjwt is installed in '/tmp/contents617317607/deps/0/python/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Running setup.py install for PyPDF2: started Running setup.py install for PyPDF2: finished with status 'done' Running setup.py install for pywebpush: started Running setup.py install for pywebpush: finished with status 'done' Running setup.py install for radar: started Running setup.py install for radar: finished with status 'done' The script raven is installed in '/tmp/contents617317607/deps/0/python/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Running setup.py install for rules: started Running setup.py install for rules: finished with status 'done' Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Running setup.py install for xhtml2pdf: started Running setup.py install for xhtml2pdf: finished with status 'done' The scripts py.test and pytest are installed in '/tmp/contents617317607/deps/0/python/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Running setup.py install for pytest-factoryboy: started Running setup.py install for pytest-factoryboy: finished with status 'done' Running setup.py install for termcolor: started Running setup.py install for termcolor: finished with status 'done' Successfully installed Django-1.11.29 Faker-5.0.2 Jinja2-2.11.2 MarkupSafe-1.1.1 Pillow-4.3.0 PyJWT-1.7.1 PyPDF2-1.26.0 URLObject-2.4.3 WebOb-1.8.6 WebTest-2.0.35 appdirs-1.4.4 asn1crypto-1.4.0 atomicwrites-1.4.0 attrs-20.3.0 beautifulsoup4-4.9.3 certifi-2017.11.5 cffi-1.14.4 chardet-3.0.4 coreapi-2.3.3 coreschema-0.0.4 cryptography-2.7 defusedxml-0.6.0 distlib-0.3.1 dj-database-url-0.5.0 django-admin-rangefilter-0.3.6 django-admin-sortable2-0.6.21 django-appconf-1.0.4 django-autocomplete-light-3.2.10 django-autoslug-1.9.8 django-axes-4.5.4 django-cors-headers-2.1.0 django-dynamic-raw-id-2.4 django-elasticsearch-dsl-0.4.5 django-elasticsearch-dsl-drf-0.7.2 django-extensions-1.9.9 django-filter-1.1.0 django-folders django-grappelli-2.10.4 django-hotspots django-image-cropping-1.1.0 django-ipware-2.1.0 django-mptt-0.8.7 django-multiupload-0.5.2 django-nine-0.1.13 django-parler-1.9.2 django-parler-rest-2.0 django-spurl-0.6.7 django-tinymce-2.7.1 django-upload-validator-1.0.2 django-waffle-0.14.0 django-webtest-1.9.7 djangorestframework-3.7.7 docx-mailmerge-0.4.0 easy-thumbnails-2.7.1 eight-0.4.2 elasticsearch-5.5.3 elasticsearch-dsl-5.4.0 et-xmlfile-1.0.1 factory-boy-3.2.0 feincms-cleanse-8 filelock-3.0.12 freezegun-0.3.11 future-0.16.0 geoip2-2.9.0 gunicorn-19.9.0 hsaudiotag3k-1.1.3.post1 html5lib-1.0b10 http-ece-1.1.0 httplib2-0.18.1 idna-2.10 importlib-metadata-3.3.0 importlib-resources-3.3.1 inflection-0.5.1 itypes-1.1.0 jdcal-1.4.1 lti-0.9.5 lxml-4.1.1 maxminddb-2.0.3 mimesis-0.0.10 more-itertools-8.6.0 oauthlib-3.1.0 olefile-0.46 openpyxl-2.5.14 packaging-20.8 pluggy-0.13.1 polib-1.0.8 psycopg2-2.7.3.2 py-1.10.0 py-vapid-1.7.0 pyOpenSSL-17.5.0 pycparser-2.20 pyenchant-3.1.1 pyparsing-2.4.7 pytest-4.0.0 pytest-django-3.4.4 pytest-factoryboy-2.0.2 pytest-mock-1.10.0 pytest-sugar-0.9.2 python-dateutil-2.6.1 python-magic-0.4.20 pytz-2017.3 pywebpush-1.10.0 radar-0.3 raven-6.6.0 reportlab-3.5.57 requests-2.21.0 requests-oauthlib-1.3.0 rules-1.3 setuptools-52.0.0 signxml-2.5.2 six-1.11.0 soupsieve-2.1 termcolor-1.1.0 text-unidecode-1.3 typing-3.6.6 typing-extensions-3.7.4.3 uritemplate-3.0.1 urllib3-1.21.1 virtualenv-20.2.2 waitress-1.4.4 webencodings-0.5.1 whitenoise-5.1.0 xhtml2pdf-0.2b1 xmltodict-0.11.0 zipp-3.4.0 You are using pip version 18.1, however version 21.0 is available. You should consider upgrading via the 'pip install --upgrade pip' command. Running python /tmp/app/manage.py collectstatic --noinput --traceback Error staging application global-trainingByBijay: timed out after 15 minute(s) FAILED

Bijaya196 commented 3 years ago

I am getting these errors