Cloud Shell 中没有名为 'google.appengine' 的模块
No module named 'google.appengine' from within Cloud Shell
我正在测试 Google App Engine 并尝试 运行 一个将文件上传到 Blobstore 或 Cloud Storage 的简单函数。我直接在实例的云 Shell 中输入 Python 代码。当我调用时代码失败:
from google.appengine.ext import blobstore
我收到错误代码:
Traceback (most recent call last):
File "upload_test.py", line 1, in <module>
from google.appengine.api import users
ImportError: No module named 'google.appengine'
即使文档说:You can use Google Cloud Shell, which comes with git and Cloud SDK already installed,我也尝试安装了一堆库:
gcloud components install app-engine-python
pip install google-cloud-datastore
pip install google-cloud-storage
pip install --upgrade google-api-python-client
我仍然遇到同样的错误。如何让 appengine 库工作?或者,这是创建允许用户上传文件的应用程序的错误方法吗?
google.appengine
模块已融入第一代 Python (2.7) 运行时。无法通过 pip
、第二代 (3.7) 运行时或云端 Shell.
安装
使用它的唯一方法是编写和部署第一代 App Engine 应用程序。
感谢@Dustin Ingram
我在 this page 中找到了答案。
目前"correct"上传到云存储的方式是使用google.cloud.storage
。我上面链接的教程解释了如何实现它。
然而,我的印象是,这使用两倍于 google.appengine
解决方案的带宽。最初,前端会收到上传 url 并将文件直接发送到 Blobstore(或云存储)。现在应用程序上传到后端,后端又上传到云存储。
我不太担心,因为我不会处理过大的文件,但直接上传的功能已经停止,这似乎很奇怪。
总之我的问题已经解决了
我正在测试 Google App Engine 并尝试 运行 一个将文件上传到 Blobstore 或 Cloud Storage 的简单函数。我直接在实例的云 Shell 中输入 Python 代码。当我调用时代码失败:
from google.appengine.ext import blobstore
我收到错误代码:
Traceback (most recent call last):
File "upload_test.py", line 1, in <module>
from google.appengine.api import users
ImportError: No module named 'google.appengine'
即使文档说:You can use Google Cloud Shell, which comes with git and Cloud SDK already installed,我也尝试安装了一堆库:
gcloud components install app-engine-python
pip install google-cloud-datastore
pip install google-cloud-storage
pip install --upgrade google-api-python-client
我仍然遇到同样的错误。如何让 appengine 库工作?或者,这是创建允许用户上传文件的应用程序的错误方法吗?
google.appengine
模块已融入第一代 Python (2.7) 运行时。无法通过 pip
、第二代 (3.7) 运行时或云端 Shell.
使用它的唯一方法是编写和部署第一代 App Engine 应用程序。
感谢@Dustin Ingram
我在 this page 中找到了答案。
目前"correct"上传到云存储的方式是使用google.cloud.storage
。我上面链接的教程解释了如何实现它。
然而,我的印象是,这使用两倍于 google.appengine
解决方案的带宽。最初,前端会收到上传 url 并将文件直接发送到 Blobstore(或云存储)。现在应用程序上传到后端,后端又上传到云存储。
我不太担心,因为我不会处理过大的文件,但直接上传的功能已经停止,这似乎很奇怪。
总之我的问题已经解决了