文档中心 V3.0
Python

概述

Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。

开发指南

下面为大家实战演示如何发布Python项目的demo。

使用示例

1.创建新的Python应用

Python-1.png
Python-2.png


2.进入刚刚创建的应用的控制台

Python-3.png


3.在应用下创建并绑定mysql服务

Python-4.png
Python-5.png
Python-6.png


4.绑定并管理您所创建的服务

Python-7.png


5.创建一个hello word的Python应用,打包成zip格式 代码如下:

def application(environ, start_response):
status = '200 OK'
response_headers = [('Content-type','text/plain')]
start_response(status, response_headers)
return ['Hello World']

将文件保存成"Python.py" 选中"Python.py"放到空文件夹下,打包成zip文件
MySQL配置举例
#!/usr/bin/env python
#coding=utf-8
###################################
#MySQLdb 示例
#
##################################
import MySQLdb
#建立和数据库系统的连接
#此处的'localhost',请使用MoPaaS的环境变量"值",如HOST的值
#此处的'3306',请使用MoPaaS的环境变量"值",如PORT的值
#此处的'root',请使用MoPaaS的环境变量"值",如USER的值
#此处的'passwd',请使用MoPaaS的环境变量"值",如PASSWORD的值
#此处的'python',请使用MoPaaS的环境变量"值",如NAME的值
conn = MySQLdb.connect(host='localhost',port='3306', user='root',passwd='longforfreedom',db='python')
#获取操作游标
cursor = conn.cursor()
#执行SQL,创建一个数据库.
cursor.execute("""create database python """)
#关闭连接,释放资源
cursor.close();

6.选择需要上传的代码包,开始上传

Python-8.png


7.启动命令可以在创建应用的对话框中添加,也可以在应用的运行状态页面添加,如下图:

Python-9.png


8.平台运行 Python 应用,至少需要包含以下四个文件:Procfile, requirements.txt, runtime.txt 以及 app.py
Procfile: 这个文件是应用启动的入口,用来指定当在 Bluemix 上启动 Python 应用时需要运行的命令,比如在我们的例子里是这样设置的:
web: python app.py
其中 web 用来表明,我们正在启动的是一个 Web 类型的应用,"python app.py"用来指明需要运行的 Python 脚本。
requirements.txt: 这个文件用来指定应用程序所需要的第三方依赖,比如:
Flabsk
ibm_db
Flask 是一个开发 Python Web 应用的开源框架,ibm_db 用来在 Python 应用中连接和使用 dashDB。
runtime.txt: 用来指定应用所需要 Python 版本。
python-3.5.2
app.py: 这个文件就是 Python 应用的脚本或者源代码文件,包含了应用的逻辑。

扩展服务

目前支持的扩展服务包括:

  • Glusterfs(文件系统)用户和程序可以像访问本地文件一样访问远端系统上的文件
  • MySQL(数据库)提供分布式的关系型数据库服务
  • PostgreSQL(数据库)提供分布式的关系型数据库服务
  • Mongodb(数据库)提供高性能的非关系型数据库
  • Memcached(缓存服务)提供高性能的分布式内存对象缓存服务

注意事项

1、环境变量
如果给应用绑定了相关的服务,MoPaaS将会生成对应的环境变量,您可以在代码中使用获取环境变量的方法来代替手动写入环境变量。当然,您也可以通过自定义环境变量来设置环境变量。详细请见环境变量篇章。
2、权限相关
出于安全性考虑,上传到MoPaaS的代码不被允许进行write操作,因此,有安装过程的应用需要将配置文件(一般为数据库配置文件)通过Glusterfs服务存放到文件管理中心,有上传文件功能的应用需要把文件的存放路径指向为Glusterfs给定的路径。
3、上传代码包
当手动将应用工程压缩成zip压缩包时,请勿直接将工程根目录打包,正确的打包方式为进入工程根目录,选中根目录下所有文件及文件夹,打包成zip压缩包。
4、配置默认首页
用户应用工程如未显式配置默认首页路径,如Java Web应用没有在web.xml中配置welcome页面,平台将寻找应用工程根目录下的index.html或index.php等页面作为应用的默认首页,如在应用工程根目录下未找到相关页面,则直接访问应用url时可能出现“Not Found”错误信息,在该种情况下用户需要在浏览器地址栏种输入完整的路径才能访问相关页面,例:yourappname.butterfly.mopaasapp.com/admin/login.html (yourappname是您的应用名,admin是您打包文件夹的名称,login.html是您想要访问的文件名,请根据项目定义)