Colab正常运行的Python代码部署到Google Function报错求助
问题分析与解决
核心差异:Colab vs Google Cloud Function 文件权限
- Colab的运行环境允许直接读写当前工作目录,所以直接写入
image文件没问题。 - Google Cloud Function的默认工作目录是只读的,只有
/tmp目录提供临时可写空间,这是无服务器函数的标准限制,用来保证环境隔离和资源高效利用。
修复后的代码
把文件写入路径改成/tmp/image,调用API时也指定这个路径:
# file link is a URL of a Google Drive image r = requests.get(file_download_link) # 写入到GCF的临时目录,用with语句更安全 with open('/tmp/image', "wb") as img_file: img_file.write(r.content) # 调用Twitter API时使用临时目录的文件路径 api.update_with_media('/tmp/image', tweet_summary)
补充说明
/tmp里的文件会在函数执行结束后自动清理,不用手动删除,适配无服务器环境的特性。- 如果后续需要持久化存储文件,得用Google Cloud Storage这类服务,但这里只是临时存图发推特,
/tmp完全够用。
内容的提问来源于stack exchange,提问作者Reece
相关产品推荐
相关产品推荐

