【发布时间】:2017-07-21 17:44:30
【问题描述】:
我正在研究如何在谷歌云平台上部署我的脚本。
我已经创建了一个目录或文件夹,其中包含 script.py 和 /lib 文件夹中的所有库。
我没有得到的是设置我的app.yaml 以运行script.py(python 2.7)并在需要时访问lib。
我也不知道是否需要制作requirments.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 安装它们。
顺便说一下,我使用的是 Windows 10。
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.yaml
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
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
【问题讨论】:
标签: python google-app-engine google-cloud-platform app.yaml