我开始使用 gcloud 和 appengine,但我不知道哪一个是管理 virtualenv 的最佳方式。
一方面,https://cloud.google.com/appengine/docs/standard/python3/quickstart
在项目外部的目录中创建一个隔离的 Python 环境并激活它
但另一方面,https://cloud.google.com/python/setup
cd your-project
python3 -m venv venv
那么,我该怎么办?我理解在目录外创建virtualenv的逻辑是由于部署gcloud应用程序时没有部署virtualenv,但是没有办法排除它吗?如果我使用 VS Code,我认为 virtualenv 应该位于项目所在的同一文件夹中。
感谢您的帮助,这是我在 stackoverflow 中的第一个问题! 🙂
这可能会有所帮助。
gcloud 应用引擎不需要单独的虚拟环境。
请仔细参考官方文档。 https://cloud.google.com/appengine/docs/standard/python3/quickstart
访问您在问题中发送的链接。 https://cloud.google.com/python/setup
他们已经明确提到了这一点。 要在本地计算机上运行 Hello World 应用程序:
在requirements.txt中写入您的依赖项并将其保存在项目的根文件夹中,gcp应用程序引擎将在内部管理您的所有依赖项(包)。
考虑层次结构。
ProjectFolder
->AppFolder
->manage.py
->requirements.txt
如果您还需要什么,请告诉我。
我建议您将 venv 与项目的源代码(即您希望通过源代码控制管理的任何内容)区分开来。
我一般赞成:
mkdir -p ${PROJECT}/python ${PROJECT}/venv
tree -L 1 ${PROJECT}
${PROJECT}
├── python
└── venv
这使项目保持在一起,但允许我按照我的意愿进行攻击
${PROJECT}/venv
,并且它不会污染部署到例如的代码。应用程序引擎。
我没有发现 Google 发布的指南有太多不一致之处。
您要确保 venv 目录未部署到 App Engine。
您是否确保 .venv 和其他文件夹(例如 .vscode)位于 .gcloudignore 中?一旦我从文件中删除它们,我的部署就开始工作。