在arm上搭建flask运行环境
来源:互联网 发布:黑客帝国矩阵革命好帅 编辑:程序博客网 时间:2024/04/30 11:59
flask是一个简单的实用的web服务,由于其比较小巧,对于一些简单需求的服务是比较方便的,如restful api。
由于flask是一个在Python上运行的库,所以想要运行flask,那么一个Python库是必不可少的,那么就需要交叉编译一个Python库,可以参考 交叉编译python 2.7.3 for arm。
然后将flask的库拷到python的lib/python2.7.3/site-package目录下,就可以了,由于flask还需要依赖几个库,要将这些库都拷贝到lib/python2.7.3/site-package目录下。
他们有click, flask, itsdangerous, jinjia2, markupsafe, werkzeug
都在mitsuhiko项目中。
然后将这些文件copy到arm的Linux上,运行flask程序会缺少zlib和ssl。Python对于第三方的库,如果需要交叉编译,需要先将第三方的库进行交叉编译,可以参考交叉编译zlib和openssl for arm,将这两个库进行交叉编译,然后记住这两个库install的位置。
这时需要重新编译Python库。
具体过程还是如交叉编译python 2.7.3 for arm, 只不过在两部分的中间,需要修改Python-2.7.3/Modules/Setup.dist.
SSL=/usr/local/ssl_ssl _ssl.c \ -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ -L$(SSL)/lib -lssl -lcrypto
zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
将这两个部分去掉注释,如果ssl和zlib安装的位置和交叉编译zlib和openssl for arm一样,那么是不需要做其他修改的,应该就可以将这两个库编译进去了。如果修改了的话,那么在上面两端代码中,也需要做相应的修改,刚Python找到相应的库。
这样得到的Python库大小在55M左右,如果需要对Python库进行缩减,下面提供一个比较简洁的办法,但是这个得到的Python库只会支持特定的程序。
基本的编译方法还是和交叉编译python 2.7.3 for arm一样,在这里第一步和第二步中间修改Python-2.7.3/Modules/Setup.dist文件的时候,就需要做比较多的修改,具体文件Setup.dist
然后依然会得到55M左右的Python库,接下来就需要删除一些不需要的文件,share目录可以删掉,lib下只需保留python2.7.3即可,在python2.7.3中,lib-dynload下的.so文件都可以删除,config文件下的libpython2.7.a 可以删除,最后将所要运行的程序完全测试一遍,删除lib下的所以.py文件即可,这样会使python大小变的很小,并且可以满足当前程序的需求。
- 在arm上搭建flask运行环境
- BAE上搭建flask环境
- windows上Flask环境搭建
- 搭建Embedded Linux kernel环境--在QEMU上运行ARM linux系统
- 搭建Embedded Linux kernel环境--在QEMU上运行ARM linux系统
- 在生产环境上 (ubuantu)flask +apache+mod_wsgi 运行你的flask
- 在gtx1080上运行theano环境搭建
- flask运行环境搭建(nginx+gunicorn)
- 在Raspberry Pi上搭建ARM Cortex-M3开发环境
- Qt在Linux和ARM上的环境搭建
- 在arm上运行elua
- 在CentOS上搭建JavaWeb+MySql运行环境
- 如何在Ubuntu上搭建Cloud Foundry网站运行环境
- 在Windows 操作系统上 搭建 Python 运行环境
- 在Notepad++上搭建Windows下Shell运行环境
- 在eclipse上搭建mapreduce开发环境及运行wordcount
- mapnik在windows上运行demo python环境搭建
- 在windows10上安装ubuntu并搭建java运行环境
- Android style
- MSTSC 自动登录
- framework制作
- Kaldi中的nnet3之数据类型
- iOS-判断字符串中是否只含有\n
- 在arm上搭建flask运行环境
- 个人或团队项目怎么起包名
- pdf转换成txt格式的方法与步骤
- [Android] Android开发优化之——使用软引用和弱引用
- 《计算机网络》总结
- HTTP 文件下载时中文文件名乱码问题处理
- linux安装包制作
- 查看Ubuntu系统信息方面的命令
- iOS开发:界面传值之Block传值