gpt4 book ai didi

python-3.x - 如何在本地模拟 python3 应用程序的应用程序引擎环境

转载 作者:行者123 更新时间:2023-12-02 03:21:23 25 4
gpt4 key购买 nike

我正在创建一个应该在 Google App Engine 的 python 3 标准环境上运行的微服务。我想在模拟的 Google 应用引擎环境中运行它。在 python2 标准环境中你可以这样做:

dev_appserver.py [PATH_TO_YOUR_APP]

但是 python 不支持这一点,我在文档中还没有找到等效的内容,我需要它来使用数据存储在本地测试我的应用程序。

最佳答案

dev_appserver.py 在 GAE Python 3 运行时中仍然可用,但不推荐使用,因为它违背了他们现在使用的惯用沙箱。为了使其发挥作用,需要执行一些您习惯的额外步骤。首先,在终端中运行 cloud beta emulators datastore env-init 以获取项目的数据存储模拟器环境变量。如果一切都是默认的,它们应该看起来像这样:

    DATASTORE_DATASET=your-project-name
DATASTORE_EMULATOR_HOST=localhost:8081
DATASTORE_EMULATOR_HOST_PATH=localhost:8081/datastore
DATASTORE_HOST=http://localhost:8081
DATASTORE_PROJECT_ID=your-project-id

现在将此变量应用到您将使用以下命令运行 dev_appserver.py 的终端(这将使 dev_appserver.py 中的数据存储查看器正确连接到数据存储模拟器):

$ $(gcloud beta emulators datastore env-init)

现在,您需要使用以下参数结构将此变量传递给 dev_appserver.py 内的 python venv(这将使您应用的 Google 云库正确连接到数据存储模拟器):

$ dev_appserver.py \
--application=your-project-name \
--env_var DATASTORE_DATASET=your-project-name \
--env_var DATASTORE_EMULATOR_HOST=localhost:8081 \
--env_var DATASTORE_EMULATOR_HOST_PATH=localhost:8081/datastore \
--env_var DATASTORE_HOST=http://localhost:8081 \
--env_var DATASTORE_EMULATOR_HOST_PATH=localhost:8081/datastore \
[PATH_TO_YOUR_APP]

最后,打开第二个终端并使用以下命令运行数据存储模拟器:

$ gcloud beta emulators datastore start

您应该让一切正常运行。请注意,我假设您的项目已针对 Python 3 环境正确设置(新的 app.yaml 结构和 requirements.txt 文件的存在)

关于python-3.x - 如何在本地模拟 python3 应用程序的应用程序引擎环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54656964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com