把django应用 打包 发布成 可独立运行的桌面程序
把django应用 打包 发布成 可独立运行的桌面程序
?
需求:在pc上运行django+sqlite应用,无须安装django python 数据库 web服务器 。。。 ?
?
传统django 应用运行在 apache or nginx fastcgi,了方便我们用cherrypy来作WEB服务器。
?
cx_freeze 跨平台的python 打包工具
?
步骤:?
?
1:下载安装 cx_freeze?cherrypy
?
2 依赖关系 提前导入 项目依赖的包
?
?
translation.activate(settings.LANGUAGE_CODE)try:
path = './media'
handler = AdminMediaHandler(WSGIHandler(), path)
cherrypy.config.update({
'server.socket_host': 'localhost',
'server.socket_port': 8000,
'log.error_file': 'site.log',
'engine.autoreload_on': True
})
cherrypy.config.update({'environment': 'production',
'log.error_file': 'site.log',
'log.screen': False})
cherrypy.tree.graft(handler, '/')
cherrypy.engine.start()
cherrypy.engine.block()
finally:
cherrypy.engine.exit()?
?
?
?
总结: 中间碰到好多问题
1:cx_freeze 文档很少 ?
2:django 用了很多动态加载module的地方 都要手工 一一 import进来
?
?
参考:
?
http://www.jjude.com/2008/04/make-your-django-application-as-a-stand-alone-desktop-application/
http://toolsforagile.com/blog/archives/51