谷歌云SDK Python3邮件-如何在本地环境中测试?

6qqygrtg  于 2023-03-31  发布在  Python
关注(0)|答案(1)|浏览(109)

这是关于Google Cloud,Google App Env标准,用于python,版本3.X,邮件捆绑服务。
根据this document from GCP,捆绑邮件在python3的GAE中重新启用,这是一个非常好的消息。
根据文档和git samples it references,您应该从google.appengine.API导入邮件,但在本地开发机器上无法工作:导入google会与框架中的标准google库发生冲突。
事情是这样的:

~: echo $PYTHONPATH
/Users/lehavi/google-cloud-sdk/platform/google_appengine
~: python
Python 3.10.10 (v3.10.10:aad5f6a891, Feb  7 2023, 08:47:40) [Clang 13.0.0 (clang-1300.0.29.30)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import google
>>> google.__path__
_NamespacePath(['/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/google'])
>>>

google模块取自另一个地方,而不是appengine,尽管我将PYTHONPATH强制指向后者(google.appengine.API.mail位于该路径中)
你知道如何解决这个问题,在部署到云之前在本地测试我的代码吗?
谢谢大家!

nxowjjhe

nxowjjhe1#

1.使用Python 3时,您应该创建一个虚拟环境
1.您还必须将appengine-python-standard>=1.0.0添加到requirements.txt文件,将app_engine_apis: true添加到app.yaml文件
1.当你用dev_appserver.py app.yaml运行你的应用时,它会在你的虚拟环境中安装捆绑的API,所以所有的导入(如from google.appengine.api import mail)都将来自虚拟环境,而不是框架中的标准谷歌库或你的谷歌云sdk目录。
当你在开发环境下,你会在发送邮件时得到以下消息-
....* 您当前没有发送真实的的电子邮件。如果您安装了sendmail,您可以通过使用服务器使用--enable_sendmail*...

相关问题