在google云平台上部署python脚本

在google云平台上部署python脚本,python,google-app-engine,google-cloud-platform,app.yaml,Python,Google App Engine,Google Cloud Platform,App.yaml,我正在研究如何在谷歌云平台上部署我的脚本。 我已经创建了一个包含script.py和/lib文件夹中所有库的目录或文件夹 我没有得到的是设置我的app.yaml运行script.py(python 2.7)并在需要时访问lib 我也不知道我是否需要制作requirements.txt,因为我使用的是第三方库 以下是我在script.py中导入的所有内容 import requests import re import mysql.connector from urlparse import ur

我正在研究如何在谷歌云平台上部署我的脚本。 我已经创建了一个包含
script.py
/lib
文件夹中所有库的目录或文件夹

我没有得到的是设置我的
app.yaml
运行
script.py
(python 2.7)并在需要时访问
lib

我也不知道我是否需要制作
requirements.txt
,因为我使用的是第三方库

以下是我在
script.py中导入的所有内容

import requests
import re
import mysql.connector
from urlparse import urlparse
from urlparse import urljoin
from bs4 import BeautifulSoup
另外,我的
lib
中有BeautifulSoup、requests和mysql.connector。 我不知道其他的,我假设它们是python2.7内置的,因为我不能用pip安装它们

顺便说一下,我用的是Windows10

app.yaml

runtime: python27
api_version: 1
threadsafe: true



handlers:
- url: /lib/requests
  script: Scrape.app

handlers:
- url: /requests
  script: Scrape.app

handlers:
- url: /mysql/connector
  script: Scrape.app

handlers:
- url: /bs4/
  script: Scrape.app
克朗·亚姆

cron:
- description: "Scrape"
  url: /
  schedule: every 10 mins
  retry_parameters:
    min_backoff_seconds: 2.5
    max_doublings: 10
我会犯这样的错误

Updating service [default]...failed.                                                                                                                                                                                                          
ERROR: (gcloud.app.deploy) Error Response: [9] 
Application startup error:
/bin/sh: 1: Python: not found

回溯(最近一次呼叫最后一次):
文件“/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py”,第240行,在Handle中
handler=\u config\u handle.add\u wsgi\u中间件(self.\u LoadHandler())
文件“/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py”,第299行,在_LoadHandler中
处理程序,路径,err=LoadObject(self.\u处理程序)
LoadObject中的文件“/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py”,第85行
obj=\uuuuuuuuuuuuuu导入(路径[0])
文件“/base/data/home/apps/s~tribal-bonito-157700/20170302t182530.399552845921654287/scrap.py”,第3行,在
导入请求
ImportError:没有名为请求的模块

来自表中的脚本行:

脚本:指令必须是python导入路径,例如, 指向WSGI应用程序的package.module.app脚本的最后一个组件:指令使用Python模块路径 模块中全局变量的名称:该变量必须是 WSGI应用程序,通常按惯例称为应用程序

注意:就像Pythonimport语句一样,每个子目录 这是一个包必须包含一个名为

我建议您花些时间浏览一下中的代码片段,您将看到一个简单应用程序的基本结构

requirements.txt
文件可用于指定要安装在
lib
目录中的软件包列表,如下所示:

pip安装-r requirements.txt-t lib


但这不是绝对必要的,包也可以直接在
pip
cmdline上显式指定。

我可以在
app.yaml
中设置何时运行代码吗?例如,每24小时应用程序引擎都会运行一次代码。哦,天哪,这是我偶然发现的另一个术语
cron.yaml
。有什么想法可以添加到
X-Appengine-Cron:true
,或者我做错了吗?花点时间在文档网站上,你需要先了解你的方位。检查左侧的导航栏,您将找到关于如何使用cron的指南、概念、教程、参考资料等的文章
Traceback (most recent call last):
 File  "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 240, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
handler, path, err = LoadObject(self._handler)
  File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 85, in LoadObject
obj = __import__(path[0])
  File "/base/data/home/apps/s~tribal-bonito-157700/20170302t182530.399552845921654287/Scrape.py", line 3, in <module>
import requests
ImportError: No module named requests