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 支持的最高运行时级别。
我正在尝试通过 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 支持的最高运行时级别。