[python] 转换python脚本程序为二进制ELF
2016-05-31 15:52
1786 查看
方法1:
freeze.py 来自python源码树.
安装pythonbrew,可安装定制化的独立python环境(略)
python trunk/Tools/freeze/freeze.py ./pkgdep.py
之后make即可。
问题:如果python脚本或依赖链的脚本中需要从.so中import,会出现问题。无数坑,放弃。
具体可参看http://svn.python.org/projects/python/branches/pep-0384/Tools/freeze/README
https://wiki.python.org/moin/Freeze(搜static)
方法2:
pyinstaller
- 安装pythonbrew
- pythonbrew install -v -C --with-dbmliborder=gdbm:bdb -C --enable-unicode=ucs4 --universal ~/workspace/python/trunk
http://www.thecodingforums.com/threads/got-undefined-symbol-_pyunicodeucs2_asdefaultencodedstring-onopensuse-11-1.699499/
- pythonbrew switch trunk
- 将依赖模块准备好:
cd ~/.pythonbrew/pythons/Python-trunk/lib/python2.7/site-packages
cp -a /usr/lib64/python2.7/site-packages/rpm .
cp -a /usr/lib/python2.7/site-packages/urlgrabber .
cp /usr/lib64/python2.7/lib-dynload/bz2.so ../lib-dynload/
或从对应模块的源码安装模块:
python setup.py install
easy_install pip==1.2.1
pip install pyinstaller
pyinstaller -F ./helloworld.py
完工。
Reference:
http://docs.python-guide.org/en/latest/shipping/freezing/
freeze.py 来自python源码树.
安装pythonbrew,可安装定制化的独立python环境(略)
python trunk/Tools/freeze/freeze.py ./pkgdep.py
之后make即可。
问题:如果python脚本或依赖链的脚本中需要从.so中import,会出现问题。无数坑,放弃。
具体可参看http://svn.python.org/projects/python/branches/pep-0384/Tools/freeze/README
https://wiki.python.org/moin/Freeze(搜static)
方法2:
pyinstaller
- 安装pythonbrew
- pythonbrew install -v -C --with-dbmliborder=gdbm:bdb -C --enable-unicode=ucs4 --universal ~/workspace/python/trunk
http://www.thecodingforums.com/threads/got-undefined-symbol-_pyunicodeucs2_asdefaultencodedstring-onopensuse-11-1.699499/
- pythonbrew switch trunk
- 将依赖模块准备好:
cd ~/.pythonbrew/pythons/Python-trunk/lib/python2.7/site-packages
cp -a /usr/lib64/python2.7/site-packages/rpm .
cp -a /usr/lib/python2.7/site-packages/urlgrabber .
cp /usr/lib64/python2.7/lib-dynload/bz2.so ../lib-dynload/
或从对应模块的源码安装模块:
python setup.py install
easy_install pip==1.2.1
pip install pyinstaller
pyinstaller -F ./helloworld.py
完工。
Reference:
http://docs.python-guide.org/en/latest/shipping/freezing/
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法