2016-04-08 13 views
1

Ich versuche eine Python-Anwendung auf IBM Bluemix Cloud über Clodfoundry zu implementieren. Die Kompilierung des Buildpacks schlägt fehl. ProtokolleCloudfoundry: Keine passende Distribution gefunden für python == 3.5.0

2016-04-08T09:23:04.732-0400[API/1]OUTUpdated app with guid 4823889e-5491-40a3-a8ce-35b8dd325441 ({"state"=>"STOPPED"}) 2016-04-08T09:23:07.713-0400[DEA/4]OUTGot staging request for app with id 4823889e-5491-40a3-a8ce-35b8dd325441 2016-04-08T09:23:11.178-0400[API/0]OUTUpdated app with guid 4823889e-5491-40a3-a8ce-35b8dd325441 ({"state"=>"STARTED"}) 2016-04-08T09:23:11.376-0400[STG/4]OUT-----> Downloaded app package (72K) 2016-04-08T09:23:12.762-0400[STG/4]OUT-----> Downloaded app buildpack cache (29M) 2016-04-08T09:23:12.901-0400[STG/0]ERRCloning into '/tmp/buildpacks/buildpack-python'... 2016-04-08T09:23:14.625-0400[STG/0]OUTSubmodule 'compile-extensions' (https://github.com/cloudfoundry/compile-extensions.git) registered for path 'compile-extensions' 2016-04-08T09:23:14.679-0400[STG/0]ERRCloning into 'compile-extensions'... 2016-04-08T09:23:15.534-0400[STG/0]OUTSubmodule path 'compile-extensions': checked out '9932bb1d352b88883d76df41e797a6fa556844f0' 2016-04-08T09:23:15.782-0400[STG/0]OUT-------> Buildpack version 1.5.5 2016-04-08T09:23:16.785-0400[STG/0]OUT-----> Found python-2.7.10, removing 2016-04-08T09:23:17.035-0400[STG/0]OUT-----> Installing python-3.5.0 2016-04-08T09:23:21.330-0400[STG/0]OUTDownloaded [https://pivotal-buildpacks.s3.amazonaws.com/concourse-binaries/python/python-3.5.0-linux-x64.tgz] 2016-04-08T09:23:27.161-0400[STG/0]OUT ! Please remove to ensure expected behavior. 2016-04-08T09:23:27.161-0400[STG/0]OUT ! The package setuptools/distribute is listed in requirements.txt. 2016-04-08T09:23:29.058-0400[STG/0]OUT $ pip install -r requirements.txt 2016-04-08T09:23:29.728-0400[STG/0]ERRDEPRECATION: --allow-all-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect. 2016-04-08T09:23:29.757-0400[STG/0]OUT Collecting django==1.9.5 (from -r mysite/requirements.txt (line 1)) 2016-04-08T09:23:30.078-0400[STG/0]OUT Downloading Django-1.9.5-py2.py3-none-any.whl (6.6MB) 2016-04-08T09:23:32.696-0400[STG/0]OUT Collecting docopt==0.6.2 (from -r mysite/requirements.txt (line 2)) 2016-04-08T09:23:32.758-0400[STG/0]OUT Downloading docopt-0.6.2.tar.gz 2016-04-08T09:23:33.446-0400[STG/0]OUT Collecting elasticsearch==2.3.0 (from -r mysite/requirements.txt (line 3)) 2016-04-08T09:23:33.525-0400[STG/0]OUT Downloading elasticsearch-2.3.0-py2.py3-none-any.whl (51kB) 2016-04-08T09:23:33.552-0400[STG/0]OUT Collecting hdfs==2.0.5 (from -r mysite/requirements.txt (line 4)) 2016-04-08T09:23:33.631-0400[STG/0]OUT Downloading hdfs-2.0.5.tar.gz 2016-04-08T09:23:34.330-0400[STG/0]OUT Collecting python==3.5.0 (from -r mysite/requirements.txt (line 6)) 2016-04-08T09:23:34.364-0400[STG/0]ERR Could not find a version that satisfies the requirement python==3.5.0 (from -r mysite/requirements.txt (line 6)) (from versions:) 2016-04-08T09:23:34.962-0400[STG/0]ERRNo matching distribution found for python==3.5.0 (from -r mysite/requirements.txt (line 6)) 2016-04-08T09:23:35.249-0400[STG/0]OUTStaging failed: Buildpack compilation step failed 2016-04-08T09:23:35.468-0400[API/0]ERRencountered error: App staging failed in the buildpack compile phase

meine Anforderungen

django == 1.9.5 docopt == 0.6.2 Elasticsearch == 2.3.0
hdfs == 2.0.5
pip == 8.1 0,1
python == 3.5.0
Anfragen == 2.9.1
Setuptools == 20,3
simplejson == 3.8.2
sechs == 1.10.0
urllib3 == 1,14
vs2015_runtime == 14.00.23026.0
Rad == 0.29.0

der Befehl i

lief

cf push pytest -b https://github.com/cloudfoundry/buildpack-python.git

wie soll ich dies bereitstellen?

bearbeiten

i geändert Python-Version 2.7.10 und entfernt die vs2015-runtime==14.00.23026.0 Anforderung. Jetzt bekomme ich

$ python mysite/manage.py collectstatic --noinput 
     Traceback (most recent call last): 
     File "mysite/manage.py", line 10, in <module> 
      execute_from_command_line(sys.argv) 
     File "/app/.heroku/python/lib/python2.7/site-packages/django/core/manag 
ement/__init__.py", line 354, in execute_from_command_line 
      utility.execute() 
     File "/app/.heroku/python/lib/python2.7/site-packages/django/core/manag 
ement/__init__.py", line 346, in execute 
      self.fetch_command(subcommand).run_from_argv(self.argv) 
     File "/app/.heroku/python/lib/python2.7/site-packages/django/core/manag 
ement/__init__.py", line 190, in fetch_command 
      klass = load_command_class(app_name, subcommand) 
     File "/app/.heroku/python/lib/python2.7/site-packages/django/core/manag 
ement/__init__.py", line 41, in load_command_class 
      return module.Command() 
     File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/st 
aticfiles/management/commands/collectstatic.py", line 32, in __init__ 
      self.storage.path('') 
     File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/st 
aticfiles/storage.py", line 48, in path 
      raise ImproperlyConfigured("You're using the staticfiles app " 
     django.core.exceptions.ImproperlyConfigured: You're using the staticfiles 
app without having set the STATIC_ROOT setting to a filesystem path. 
!  Error while running '$ python mysite/manage.py collectstatic --noinput'. 
     See traceback above for details. 
     You may need to update application code to resolve this error. 
     Or, you can disable collectstatic for this application: 
      $ heroku config:set DISABLE_COLLECTSTATIC=1 
     https://devcenter.heroku.com/articles/django-assets 
Staging failed: Buildpack compilation step failed 

und hier ist das, was mein Projekt Setup

enter image description here

wie

aussieht und in meinem settings.py ich habe

STATIC_ROOT = os.path.join(BASE_DIR, '/static') 
STATIC_URL = '/static/' 

, was mache ich falsch?

aktualisieren

Dank für Ihre Hilfe viel Hobert Bush. Ich habe getan, wie Sie vorgeschlagen haben und jetzt bin ich fast da. Das Problem ist, dass Django jetzt einige meiner statischen Dateien nicht finden kann. Ich habe ein Stück Code wie

hdfsProps = ReadProp.load_properties("hdfsStats/props/hdfsprops.prop") 

und hier ist das Layout

enter image description here

so dass ich diese beiden prop Dateien lesen möchten. Beachten Sie, dass dies perfekt in meinem lokalen PC funktioniert. Auch wenn ich nicht die hdfsStas/props/ Struktur innerhalb 'statisch' erstellen

Wie sollte ich mein Layout ändern, so dass mein Code diese Dateien aufnehmen kann? Ich versuchte sogar ../../props/hdfsprops.prop, aber das gibt mir den gleichen Fehler. Schließlich befindet sich der Code, der die Dateien einliest, im src Paket

Antwort

1

Bitte kehren Sie zu Python-Laufzeit 2.7.10 zurück, da dies die höchste Laufzeitstufe ist, die derzeit mit dem Bluemix Python Buildpack unterstützt wird.

+0

danke, ich habe es auf 2.7.10 geändert, aber jetzt bekomme ich 'Keine passende Verteilung gefunden für vs2015-Laufzeit == 14.00.23026.0' – AbtPst

+0

@AbtPst Ich verstehe, können Sie die Ausgabe von cf-Logs --recent? –

+0

Bitte beachten Sie die Bearbeitung – AbtPst

Verwandte Themen