谷歌云中部署NumPy,部署GAE应用是相当简单的。如果用到了NumPy,则需要一个额外的配置步骤,但也就是几分钟即可解决的事情。
具体步骤
让我们创建一个新的应用。
- 创建一个新的应用。
使用GAE启动器程序,创建一个新的应用(File | New Application),并把它命名为numpycloud。这将生成一个同名的文件夹,其中包括如下内容。
- 把NumPy加到库中。
需要让GAE知道我们想使用NumPy。添加如下内容到配置文件app.yaml的libraries区段。
- name: numpy
version: "1.6.1"
该配置文件应该包括如下的内容。
application: numpycloud
version: 1
runtime: python27
api_version: 1
threadsafe: yes
handlers:
- url: /favicon\.ico
static_files: favicon.ico
upload: favicon\.ico
- url: .*
script: main.app
libraries:
- name: webapp2
version: "2.5.1"
- name: numpy
version: "1.6.1"
- 编写NumPy代码。
为了演示NumPy代码的使用,我们修改一下main.py文件。该文件中有一个MainHandler
类,其中包含了一个用来处理get
请求的方法。使用如下代码替换该方法的内容.
def get(self):
self.response.out.write
('Hello world! ')
self.response.out.write
('NumPy sum = ' + str
(numpy.arange(7).sum()))
最终将得到如下的代码。
import webapp2
import numpy
class MainHandler
(webapp2.RequestHandler):
def get(self):
self.response.out.write('Hello world! ')
self.response.out.write('NumPy sum = ' +
str(numpy.arange(7).sum()))
app = webapp2.WSGIApplication([('/', MainHandler)],
debug=True)
在GAE启动器中点击Browse按钮,将在默认浏览器中看到包含如下文字的页面。
Hello world!
NumPy sum = 21
小结
如果没有使用太多资源,GAE的使用是免费的。你最多可以创建10个Web应用。GAE采用了沙箱机制,这是过去的一段时间内不能使用NumPy的原因。但正如本攻略所示,GAE现在已经支持NumPy了。
还需要知道的是,GAE目前不支持关系数据库。GAE的一些其他特性也会影响应用的可移植性。