如何将 C 库添加到 Python appengine
How to add C libraries to Python appengine
我有一个 Python GAE 应用程序,它也使用 Google Compute Engine VM 实例。我正在尝试 运行 来自 shell 的一些第 3 方应用程序。当我启动 Google Cloud Shell 程序并键入 pwd
时,路径显示:/home/<my_username>
但是当我从我的 python 代码调用 subprocess.call()
时,日志显示:/home/vmagent/
所以我可以从命令行将程序安装到 /home/<my_username>
但我无法从我的 Python 应用程序中访问这些程序,因为我不知道 /home/vmagent/
是!
所以我想我的问题是 - 如何从我的 GAE 应用程序或我的计算云 VM 实例之一访问我在仪表板上看到的 Google 云 Shell ?
您必须使用 Dockerfile
安装它。
gcloud ssh
让你进入主机,而不是你的应用程序的容器。主机主机 docker 具有不同的服务(memcache、cloudsql 代理等),其中只有一个是 docker 与您的应用程序。这是根据您提供的 Docker 文件或默认文件(我猜您现在正在使用)准备的。
另外,你不应该在 VM 实例上安装任何东西,它应该是一个无状态的机器。或者您必须对 每个 通过自动缩放或重启后为您启动的新实例执行相同的操作。
所以基本上你必须创建自己的 Docker 文件,FROM gcr.io/google_appengine/python
并从那里安装你需要的一切。
见https://cloud.google.com/appengine/docs/managed-vms/custom-runtimes
我有一个 Python GAE 应用程序,它也使用 Google Compute Engine VM 实例。我正在尝试 运行 来自 shell 的一些第 3 方应用程序。当我启动 Google Cloud Shell 程序并键入 pwd
时,路径显示:/home/<my_username>
但是当我从我的 python 代码调用 subprocess.call()
时,日志显示:/home/vmagent/
所以我可以从命令行将程序安装到 /home/<my_username>
但我无法从我的 Python 应用程序中访问这些程序,因为我不知道 /home/vmagent/
是!
所以我想我的问题是 - 如何从我的 GAE 应用程序或我的计算云 VM 实例之一访问我在仪表板上看到的 Google 云 Shell ?
您必须使用 Dockerfile
安装它。
gcloud ssh
让你进入主机,而不是你的应用程序的容器。主机主机 docker 具有不同的服务(memcache、cloudsql 代理等),其中只有一个是 docker 与您的应用程序。这是根据您提供的 Docker 文件或默认文件(我猜您现在正在使用)准备的。
另外,你不应该在 VM 实例上安装任何东西,它应该是一个无状态的机器。或者您必须对 每个 通过自动缩放或重启后为您启动的新实例执行相同的操作。
所以基本上你必须创建自己的 Docker 文件,FROM gcr.io/google_appengine/python
并从那里安装你需要的一切。
见https://cloud.google.com/appengine/docs/managed-vms/custom-runtimes