Cloudfoundry:找不到 python==3.5.0 的匹配分布

Cloudfoundry : No matching distribution found for python==3.5.0

我正在尝试通过 clodfoundry 在 IBM Bluemix 云上部署一个 python 应用程序。 buildpack 编译失败。日志

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

我的要求

django==1.9.5 文档==0.6.2 elasticsearch==2.3.0
hdfs==2.0.5
pip==8.1.1
python==3.5.0
请求==2.9.1
setuptools==20.3
simplejson==3.8.2
六==1.10.0
urllib3==1.14
vs2015_runtime==14.00.23026.0
车轮==0.29.0

命令我运行

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

我应该如何部署它?

编辑

我将 python 版本更改为 2.7.10 并删除了 vs2015-runtime==14.00.23026.0 要求。现在我得到

$ 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

这是我的项目设置的样子

在我的settings.py中我有

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

我做错了什么?

更新

非常感谢 Hobert Bush 的帮助。我按照你的建议做了,现在我快到了。问题是现在 django 找不到我的一些静态文件。我有一段代码像

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

这是布局

所以我想阅读那两个道具文件。请注意,这在我的本地电脑上完美运行。即使我不在 'static'

中创建 hdfsStas/props/ 结构

我应该如何更改我的布局以便我的代码可以获取这些文件?我什至试过 ../../props/hdfsprops.prop 但这给了我同样的错误。最后,读取文件的代码在 src

请恢复到 Python 运行时 2.7.10,因为这是当前使用 Bluemix Python Buildpack 支持的最高运行时级别。