【python】nuitka封装python
官网:http://nuitka.net/doc/user-manual.html
python打包工具对比:http://blog.csdn.net/qwemicheal/article/details/52864656 这篇博客阐述了nuitka存在的各种问题
elf格式介绍:http://www.cnblogs.com/xmphoenix/archive/2011/10/23/2221879.html 清晰的介绍了elf格式
nuitka的作用是将python程序转换成C语言的可执行elf文件。这样在运行时就可以享受到C语言处理过程中的优化,提高速度。
安装:
sudo apt-get install nuitka
使用:
假设有python文件 main.py 其中import了 a.py, b.py, c.py
转换为可执行文件只需运行:
nuitka --recurse-all main.py
运行后会生成main.exe文件,注意main.py中import的文件会被自动包含。
输入下面代码即可执行
./main.exe
问题:
1.跨平台性很差
这点,上面的"python打包工具对比"中也谈到了。
具体在我使用时,在ubuntu中打包了一份python文件,拿到windows下运行,提示
该版本的main.exe 与您运行的 Windows 版本不兼容。请查看计算机的系统信息,了解是否需要 x86 ( 位)或 x64 ( 位)版本的程序,然后联系软件发布者。
在centos中运行,提示有python依赖库找不到。
2.使用 --standalone参数后无法生成.exe文件
官网介绍说使用该参数可以解决代码对python是否安装的依赖
The created binaries can be made executable independent of the Python installation, with --standalone option.
可是我用这个参数后就无法生成可执行文件了。
【python】nuitka封装python的更多相关文章
- 将Python脚本封装成exe可执行文件 转
将Python脚本封装成exe可执行文件 http://www.cnblogs.com/renzo/archive/2012/01/01/2309260.html cx_freeze是用来将 Pyt ...
- python继承——封装
python继承--封装 1 为什么要封装 封装数据的主要原因是:保护隐私 封装方法的主要原因是:隔离复杂度 2 封装分为两个层面 第一个层面的封装(什么都不用做):创建类和对象会分别创建二者的名称空 ...
- python自定义封装logging模块
#coding:utf-8 import logging class TestLog(object): ''' 封装后的logging ''' def __init__(self , logger = ...
- 【转】Python基础-封装与扩展、静态方法和类方法
[转]Python基础-封装与扩展.静态方法和类方法 一.封装与扩展 封装在于明确区分内外,使得类实现者可以修改封装内的东西而不影响外部调用者的代码:而外部使用者只知道一个接口(函数),只要接口(函数 ...
- 树莓派(Raspbian系统)中使用pyinstaller封装Python代码为可执行程序
一.前言 将做好的Python软件运行在树莓派上时,不想公开源码,就需要对文件进行封装(或称打包),本文主要介绍使用pyinstaller封装Python代码为可执行程序. Python是一个脚本语言 ...
- 用ladon框架封装Python为Webservice接口以及调用接口的方法
一.用ladon框架封装Python为Webservice接口 功能实现的同时,希望将接口开放给别人,而封装python接口的一个再简单不过的框架Ladon,而且提供不同的协议,包括SOAP和Json ...
- python 3 封装
python 3 封装 从封装本身的意思去理解,封装就好像是拿来一个麻袋,把小鱼,小虾,小王八,一起装进麻袋,然后把麻袋封上口子.照这种逻辑看,封装=‘隐藏’,这种理解是相当片面的. 先看如何隐藏 在 ...
- python面向对象-封装-property-接口-抽象-鸭子类型-03
封装 什么是封装: # 将复杂的丑陋的隐私的细节隐藏到内部,对外提供简单的使用接口 或 # 对外隐藏内部实现细节,并提供访问的接口 为什么需要封装 1.为了保证关键数据的安全性 2.对外部隐藏内部的实 ...
- QuantLib 金融计算——自己动手封装 Python 接口(1)
目录 QuantLib 金融计算--自己动手封装 Python 接口(1) 概述 QuantLib 如何封装 Python 接口? 自己封装 Python 接口 封装 Array 和 Matrix 类 ...
随机推荐
- HTTP Cookie详解
1.什么是HTTP Cookie? Wikipedia给出的定义是:An HTTP cookie is a small piece of data sent from a website and st ...
- JavaScript中让Html页面中循环播放文字
JavaScript中让Html页面中循环播放文字 <html> <head> <meta http-equiv="Content-Type" con ...
- Web API系列(一)设计经验与总结
在移动互联网的时代, Web服务已经成为了异构系统之间的互联与集成的主要手段,各种 Web服务几乎都采用REST风格的Web Api来构建. 通过Http协议的形式来. 以Get/Post方式发送请求 ...
- linux下, 再次遇到使用thinkphp的模板标签时,报错used undefined function \Think\Template\simplexml_load_string() 是因为没有安装 php-xml包
linux下, 使用thinkphp的模板标签,如 eq, gt, volist defined, present , empty等 标签时, 报错: used undefined function ...
- Openxml 笔记
用openxml 生成Excel: private void GenerateExcelUsingOpenxml(DataTable dataTable, string GeneratePath) ...
- FPGA优化之高扇出
Fanout即扇出,模块直接调用的下级模块的个数,如果这个数值过大的话,在FPGA直接表现为net delay较大,不利于时序收敛.因此,在写代码时应尽量避免高扇出的情况.但是,在某些特殊情况下,受到 ...
- codeforces 459E
codeforces 459E E. Pashmak and Graph time limit per test 1 second memory limit per test 256 megabyte ...
- Python中两种处理错误方法的比较
我所说的处理错误的方法,其实是try:,except和raise这两种. 首先抛出一个实例, dictt={'a':1,'b':2,'c':3} try: if dictt['d']>1: #字 ...
- spring data jpa分页
controller层 @RequestMapping(value="/search") @ResponseBody public String search(HttpServle ...
- HTTP缓存
本文是<HTTP权威指南>读书笔记 Web缓存是可以自动保存常见文档副本的设备.当Web请求抵达缓存时,如果本地在“已缓存”的的副本,就可以从本地存储设备而不是原始服务器中提取这个文档.使 ...