【发布时间】:2026-01-04 01:50:02
【问题描述】:
我正在尝试将 Google Cloud Storage 功能添加到已运行具有重要功能的 Python GAE 应用程序中。我在我的开发计算机上完全在 PyCharm 中工作,这是一台运行 OS X 10.9.5 的 Mac。
我创建了一个包含以下语句的新 Python 模块:
import cloudstorage as gcs
如https://cloud.google.com/appengine/docs/python/googlecloudstorageclient/getstarted的示例代码所示
当我第一次添加该行时,PyCharm 在编辑器中显示“没有名为 cloudstorage 的模块”。
然后我按照https://cloud.google.com/appengine/docs/python/googlecloudstorageclient/download 的“pip”和“svn”说明进行操作 下载 GCS 客户端库。
在尝试遵循这些说明时,考虑到我之前使用此编程环境的经验,我实际上尝试使用“pip”3 次:
- 曾经没有“-t”选项,因为我以前从不需要带有“pip”的选项
- 曾经使用“-t”选项指定我的应用程序目录的“lib”子目录
- 一旦使用:
pip install GoogleAppEngineCloudStorageClient -t /Applications/GoogleAppEngineLauncher.app//Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib,因为我不确定“”的说明是什么意思
如前所述,我还执行了“svn”命令。然后,正如install python google cloud storage client on Ubuntu 14.04 中提到的,我运行了“cd gcs-client/src”和“sudo python setup.py install”。我在我的用户根目录中运行了这些命令。
每次成功但不同地安装 GCS 客户端库后,我查看了我的模块的 PyCharm 编辑器窗口,它总是出现相同的“没有名为 cloudstorage 的模块”错误。但作为一个实验,我也会尝试重新启动 PyCharm,并尝试运行我的应用程序。
在某些时候,编辑器窗口停止显示错误。不是在上述步骤之一之后,而是在我离开阅读各种网页然后再回来查看错误之后。我不知道是哪个安装消除了 PyCharm 编辑器中的错误消息。
在任何情况下,每当我尝试运行应用程序时(同样是在 PyCharm 中),我总是在同一个导入语句中收到运行时错误“ImportError: No module named cloudstorage”。
此应用的运行/调试配置页面同时选中了“将内容根添加到 PYTHONPATH”和“将源根添加到 PYTHONPATH”。
当然,我想要的主要帮助是如何克服“No module named cloudstorage”运行时错误,即使 import 语句不再显示错误。
我想我还有多达三个 GCS 客户端库的虚假版本。我更关心通过“未找到模块”,因为它是一个阻碍,但如果你知道我如何删除虚假版本,以便它们不只是躺在那里,我会是最也感谢您的帮助。
【问题讨论】:
-
检查项目文件夹。确保 GCS 文件夹被命名为“cloudstorage”,如果它命名为任何其他它不会看到它。
-
@Bruyere 结构是
<app>/lib/cloudstorage。还有<app>/lib/GoogleAppEngineCloudStorageClient-1.9.5.0-py2.7.egg-info。我不明白 egg-info 目录。顺便说一句,如果有帮助,我还有<app>/lib/crc16pure.py,它可以被导入并在执行时工作。但是请注意,cloudstorage是一个目录,而crc16pure.py是一个 Python 模块。cloudstorage目录不包含cloudstorage.py,但它确实包含cloudstorage_api.py以及其他文件。 -
从 google.appengine.ext 导入云存储
标签: google-app-engine google-cloud-storage pycharm