使用SAE部署Python运行环境的教程

   这篇文章主要介绍了使用SAE部署Python运行环境的教程,SAE作为新浪的在线软件部署平台,在国内拥有一定的性价比,需要的朋友可以参考下

  因为 GAE 在国内访问不便,所以平时有一些小应用,我都会放在 SAE 上面, 虽然 SAE 还有很多缺陷,但算是上手比较容易的一个了,最起码文档写的不错。

  开发 SAE 上的应用,我一般都用 Flask,SAE 预装了 Flask,所以你可以直接用, 但我们难免会用一些没有预装的库。

  如果是在以前,可能需要自己将 package 挨个 copy 到应用目录中,然后手动加载, 现在嘛,不需要那么麻烦了,SAE 有个非常不错的解决方案,见《安装依赖的第三方包》

  你可以使用 saecloud 来代替 pip 安装第三方库

  ?

1

saecloud install -r requirements.txt

  这条命令会将第三方库安装在应用目录的 site-packages 目录下面,部署时可以将所有的依赖 打包成 zip 档案,这样上传和维护都很方便。

  ?

1
2

cd site-packages/
zip -r ../site-packages.zip .

  在 index.wsgi 中将这些依赖加载进来

  ?

1
2
3
4
5
6
7
8

import os
import sys
 
root = os.path.dirname(__file__)
 
# 两者取其一
sys.path.insert(0, os.path.join(root, 'site-packages'))
sys.path.insert(0, os.path.join(root, 'site-packages.zip'))

  虽然是二者取其一,但学是推荐使用 zip 档案的方式。

  有个问题是,我们需要打包的,只是 SAE 没有预装的包, 但我们本地开发还要依赖 Flask 这些预装的包, 都使用 saecloud 安装的话,这个包明显就会有冗余。

  借鉴于 bower, npm 这些包管理器的依赖管理的优点, 我们显然应该将依赖库分离出来。

  ?

1
2
3
4

# 安装非预装依赖
pip install -r requirements.txt
# 维护预装依赖
saecloud install -r requirements-dev.txt

  这样,只有 requirements.txt 中的包会被安装到应用目录下的 site-packages 文件夹中。

  经过一些实践,我整理了自己用着比较顺手的源代码文件结构

  复制代码 代码如下:

  LICENSE

  Makefile

  README.md

  requirements-dev.txt

  requirements.txt

  site-packages

  ...

  site <--- web app 目录

  index.wsgi

  main.py

  config.yam

  site-packages.zip <--- 打包的依赖库

  ...

  我会将下面的文件加入到 .gitignore,以避免它们被提交到版本中。

  复制代码 代码如下:

  /site-packages

  /site/site-packages.zip

  /site/index.wsgic

  为了方便安装依赖和部署项目,我写了个 Makefile

时间: 2024-08-03 20:42:40

使用SAE部署Python运行环境的教程的相关文章

Windows中配置Python运行环境,只有700KB

之前还没有编译过Windows上的Python,打包发布一般使用py2exe和pyinstaller,生成的文件至少有3MB.而且Python只有VS的Project文件,也就是说,如果自己要用GCC来编译,就需要自己编写或者修改Makefile了.我是在Debian上安装了Mingw32之后,修改默认的Makefile来让它支持编译成Windows版本,而且源代码有大幅度改动,所以这里就不把过程写出来了,我也忘了做了多少修改.编译方法可以参考我的上一篇博文.建议有VS的同学还是选择VS编译比较

仅5步搞定Android开发环境部署 Android开发环境搭建教程_Android

在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入Android浪潮的朋友们,为了确保大家能顺利完成开发环境的搭建,文章写的尽量详细,希望对准备进入Android开发的朋友有帮助. 本教程将分为五个步骤来完成Android开发环境的部署. 第一步:安装JDK. 第二步:配置Windows上JDK的变量环境 . 第三步: 下载安装Eclipse . 第四步:下载安装Android SDK . 第五步:为Eclips

仅5步搞定Android开发环境部署 Android开发环境搭建教程

在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入Android浪潮的朋友们,为了确保大家能顺利完成开发环境的搭建,文章写的尽量详细,希望对准备进入Android开发的朋友有帮助. 本教程将分为五个步骤来完成Android开发环境的部署. 第一步:安装JDK. 第二步:配置Windows上JDK的变量环境 . 第三步: 下载安装Eclipse . 第四步:下载安装Android SDK . 第五步:为Eclips

Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建教程_win服务器

准备篇 一.环境说明: 操作系统:Windows Server 2012 R2 PHP版本:php 5.5.8 MySQL版本:MySQL5.6.15 二.相关软件下载: 1.PHP下载地址: http://windows.php.net/downloads/releases/php-5.5.8-nts-Win32-VC11-x86.zip 2.MySQL下载地址: http://cdn.mysql.com/Downloads/MySQLInstaller/mysql-installer-com

Nginx+SSL+Node.js运行环境配置教程_nginx

Nginx是一款高性能的HTTP服务器,同时也是一款高效的反向代理服务器.不像传统的服务器,Nginx是基于事件驱动的异步架构,内存占用少但是性能很好.如果你的Web应用是基于Node.js的,那么建议你考虑使用Nginx来做反向代理,因为Nginx可以非常高效地提供静态文件服务.本文的主要内容是在不同的操作系统下配置Nginx和SSL,并且搭建一个Node.js运行环境. 安装Nginx 假设你已经在服务器上安装了Node.js,下面我们来安装Nginx. 在Mac系统上安装Nginx 利用c

Linux下Apache+mysql+PHP运行环境搭建教程

 今天因为工具需要需要配置一个web环境,由于初次接触在linux内核系统中配置Apache+mysql+PHP环境折腾了许久,下面整理了一篇安装教程与大家一起交流一下吧. PHP之服务器环境搭建安装软件准备 1. Apache224.tar.gz 2. php-5.2.9.tar.gz 3. mysql-5.1.54.tar.gz PHP和各个组件包 libxml2-2.6.30.tar.gz xml c语言版的解析器 libmcrypt-2.5.8.tar.gz 加密算法扩展库 zlib-1

在Windows系统上搭建Nginx+Python+MySQL环境的教程

  1 安装nginx 下载windows上的nginx最新版本,http://www.nginx.org/en/download.html. 解压后即可. 运行nginx.exe后本地打开http://localhost,将会看到欢迎页面,这证明nginx在本地运行良好,如果没有出现欢迎页面,请检查是否有进程占用了80端口. 2 安装flup 下载对应版本的flup,这里下载flup3.x版本,适合python3.2,下载地址:https://github.com/chxanders/flup

阿里云函数计算支持 Python 运行环境

阿里云函数计算服务是一个事件驱动的全托管计算服务,自 4 月份发布以来,受到了很多开发者的关注.通过函数计算,开发者只需要编写函数代码,就能够快速地开发出弹性伸缩地 Serverless 应用. 今天函数计算北京区域(华北 2)正式上线,同时推出了对 Python 语言的支持,开发者可以使用 Python 来编写函数.一个最简单的函数代码如下: def my_handler(event, context): return 'hello world' 函数名 my_handler需要与创建函数时的

Win7旗舰版中的IIS配置asp.net的运行环境配置教程(图文教程+视频)_win服务器

以前弄过好多次,都没有成功,昨天晚上不知怎么地就成功了,借用我同学的一句话,这叫"灵光一闪",废话不多说了,这个成功是有图有视频有真相地哈! 这篇博文发表都三个月了,我自认为算是很详细了,可是还是很多人没有配置出来(天天有人在群里问我怎么配置),所以今天特意录成视频供大家参考.特意申明:这是配置asp.net运行坏境,不是asp,asp和asp.net是有区别的.asp.net如果还是配置不出可以问,asp就算了,我不懂asp哦!无法帮你解决. Win7旗舰版中的IIS配置asp.ne