为什么我在尝试将应用程序推送到 IBM 云时收到错误消息?
Why am I receiving an error when trying to push application to IBM cloud?
我想使用以下命令将一个简单的 Flask 应用程序推送到 IBM 云:
%%bash
cd /resources/labs/CV0101EN/CV0101EN-capstone-project/app
ibmcloud app push
不幸的是,我在此过程中收到错误消息。
通过查看错误,我假设由于某种原因 python 安装出现问题,但我不知道是什么原因造成的。有谁知道这里的问题在哪里?如果有任何建议,我将不胜感激。
安装日志:
Cell xxx creating container for instance yyy
Cell xxx successfully created container for instance yyy
Downloading app package...
Downloaded app package (14.8K)
-----> Python Buildpack version 1.7.6
-----> Supplying Python
**ERROR** Could not install python: no match found for 3.6.8 in [2.7.16 2.7.17 3.5.7 3.5.9 3.6.9 3.6.10 3.7.5 3.7.6 3.8.0 3.8.1]
Failed to compile droplet: Failed to run all supply scripts: exit status 14
Exit status 223
Cell xxx stopping instance yyy
Cell xxx destroying container for instance yyy
Cell ef638021-80ae-4fa7-b9d7-fca401983c23 successfully destroyed container for instance yyy
FAILED
以下是我的 Jupiter 笔记本中出现的错误。
Error staging application: App staging failed in the buildpack compile phase
---------------------------------------------------------------------------
CalledProcessError Traceback (most recent call last)
<ipython-input-32-b9984b2b336d> in <module>
----> 1 get_ipython().run_cell_magic('bash', '', 'cd /resources/labs/CV0101EN/CV0101EN-capstone-project/app\nibmcloud app push\n')
~/conda/envs/python/lib/python3.6/site-packages/IPython/core/interactiveshell.py in run_cell_magic(self, magic_name, line, cell)
2360 with self.builtin_trap:
2361 args = (magic_arg_s, cell)
-> 2362 result = fn(*args, **kwargs)
2363 return result
2364
~/conda/envs/python/lib/python3.6/site-packages/IPython/core/magics/script.py in named_script_magic(line, cell)
140 else:
141 line = script
--> 142 return self.shebang(line, cell)
143
144 # write a basic docstring:
</home/jupyterlab/conda/envs/python/lib/python3.6/site-packages/decorator.py:decorator-gen-110> in shebang(self, line, cell)
~/conda/envs/python/lib/python3.6/site-packages/IPython/core/magic.py in <lambda>(f, *a, **k)
185 # but it's overkill for just that one bit of state.
186 def magic_deco(arg):
--> 187 call = lambda f, *a, **k: f(*a, **k)
188
189 if callable(arg):
~/conda/envs/python/lib/python3.6/site-packages/IPython/core/magics/script.py in shebang(self, line, cell)
243 sys.stderr.flush()
244 if args.raise_error and p.returncode!=0:
--> 245 raise CalledProcessError(p.returncode, cell, output=out, stderr=err)
246
247 def _run_script(self, p, cell, to_close):
CalledProcessError: Command 'b'cd /resources/labs/CV0101EN/CV0101EN-capstone-project/app\nibmcloud app push\n'' returned non-zero exit status 1.
更改位于项目目录中的 runtime.txt 文件中的 Python 版本解决了该问题。 Python 安装成功。
由于大小限制,构建包无法包含 Python 曾经创建的所有版本。正如您在输出中看到的那样,buildpack 会告诉您您请求的版本以及支持的版本。
ERROR Could not install python: no match found for 3.6.8 in [2.7.16 2.7.17 3.5.7 3.5.9 3.6.9 3.6.10 3.7.5 3.7.6 3.8.0 3.8.1]
简短的回答是您需要在 runtime.txt
中指定支持版本列表中的版本。那可能是 3.6.9
或 3.6.10
.
更好的解决方案是不指定特定版本,而是指定分支。如果您要设置 3.6.x
那么您将不会在 3.6.9 不再受 buildpack 支持的 2 个月内再次遇到此问题(buildpack 会不断升级依赖项,以便您获得最新的安全性和错误修复)。
使用 3.6.x
,您将只获得 buildpack 支持的最新版本的 3.6 分支。在上面的示例中,这将导致安装 3.6.10。在有 3.6.11 的两个月后,您将自动获得 3.6.11。
https://docs.cloudfoundry.org/buildpacks/python/index.html#runtime
我想使用以下命令将一个简单的 Flask 应用程序推送到 IBM 云:
%%bash
cd /resources/labs/CV0101EN/CV0101EN-capstone-project/app
ibmcloud app push
不幸的是,我在此过程中收到错误消息。 通过查看错误,我假设由于某种原因 python 安装出现问题,但我不知道是什么原因造成的。有谁知道这里的问题在哪里?如果有任何建议,我将不胜感激。
安装日志:
Cell xxx creating container for instance yyy
Cell xxx successfully created container for instance yyy
Downloading app package...
Downloaded app package (14.8K)
-----> Python Buildpack version 1.7.6
-----> Supplying Python
**ERROR** Could not install python: no match found for 3.6.8 in [2.7.16 2.7.17 3.5.7 3.5.9 3.6.9 3.6.10 3.7.5 3.7.6 3.8.0 3.8.1]
Failed to compile droplet: Failed to run all supply scripts: exit status 14
Exit status 223
Cell xxx stopping instance yyy
Cell xxx destroying container for instance yyy
Cell ef638021-80ae-4fa7-b9d7-fca401983c23 successfully destroyed container for instance yyy
FAILED
以下是我的 Jupiter 笔记本中出现的错误。
Error staging application: App staging failed in the buildpack compile phase
---------------------------------------------------------------------------
CalledProcessError Traceback (most recent call last)
<ipython-input-32-b9984b2b336d> in <module>
----> 1 get_ipython().run_cell_magic('bash', '', 'cd /resources/labs/CV0101EN/CV0101EN-capstone-project/app\nibmcloud app push\n')
~/conda/envs/python/lib/python3.6/site-packages/IPython/core/interactiveshell.py in run_cell_magic(self, magic_name, line, cell)
2360 with self.builtin_trap:
2361 args = (magic_arg_s, cell)
-> 2362 result = fn(*args, **kwargs)
2363 return result
2364
~/conda/envs/python/lib/python3.6/site-packages/IPython/core/magics/script.py in named_script_magic(line, cell)
140 else:
141 line = script
--> 142 return self.shebang(line, cell)
143
144 # write a basic docstring:
</home/jupyterlab/conda/envs/python/lib/python3.6/site-packages/decorator.py:decorator-gen-110> in shebang(self, line, cell)
~/conda/envs/python/lib/python3.6/site-packages/IPython/core/magic.py in <lambda>(f, *a, **k)
185 # but it's overkill for just that one bit of state.
186 def magic_deco(arg):
--> 187 call = lambda f, *a, **k: f(*a, **k)
188
189 if callable(arg):
~/conda/envs/python/lib/python3.6/site-packages/IPython/core/magics/script.py in shebang(self, line, cell)
243 sys.stderr.flush()
244 if args.raise_error and p.returncode!=0:
--> 245 raise CalledProcessError(p.returncode, cell, output=out, stderr=err)
246
247 def _run_script(self, p, cell, to_close):
CalledProcessError: Command 'b'cd /resources/labs/CV0101EN/CV0101EN-capstone-project/app\nibmcloud app push\n'' returned non-zero exit status 1.
更改位于项目目录中的 runtime.txt 文件中的 Python 版本解决了该问题。 Python 安装成功。
由于大小限制,构建包无法包含 Python 曾经创建的所有版本。正如您在输出中看到的那样,buildpack 会告诉您您请求的版本以及支持的版本。
ERROR Could not install python: no match found for 3.6.8 in [2.7.16 2.7.17 3.5.7 3.5.9 3.6.9 3.6.10 3.7.5 3.7.6 3.8.0 3.8.1]
简短的回答是您需要在 runtime.txt
中指定支持版本列表中的版本。那可能是 3.6.9
或 3.6.10
.
更好的解决方案是不指定特定版本,而是指定分支。如果您要设置 3.6.x
那么您将不会在 3.6.9 不再受 buildpack 支持的 2 个月内再次遇到此问题(buildpack 会不断升级依赖项,以便您获得最新的安全性和错误修复)。
使用 3.6.x
,您将只获得 buildpack 支持的最新版本的 3.6 分支。在上面的示例中,这将导致安装 3.6.10。在有 3.6.11 的两个月后,您将自动获得 3.6.11。
https://docs.cloudfoundry.org/buildpacks/python/index.html#runtime