zoukankan      html  css  js  c++  java
  • 把python代码编译成exe文件,及脱离python环境运行py

    把python代码编译成exe文件是一件很酷的事情,有很多软件都能实现这个功能。

    1. py2exe

    先下载文件(链接),安装比较简单,一路下一步就行了。

    创建一个例子文件foobar.py:
    print "foobar"

    创建一个安装文件setup.py:
    from distutils.core import setup
    import py2exe
    setup(console=['foobar.py'])

    执行:python setup.py py2exe

    2. pyinstaller

    先下载文件(链接),只要解压缩到合适的位置即可。

    创建一个例子文件foobar.py:
    print "foobar"

    以下操作在解压缩后的目录里进行。

    配置pyinstaller:python Configure.py

    生成spec文件:python Makespec.py -F -c foobar.py

    执行:python Build.py foobar/foobar.spec
    ps: py2exe 也可以打成只有一个 exe 包,不带 library.zip 的。
    原文:http://hi.baidu.com/thinkinginlamp/blog/item/9f424954862d1551564e0001.html
    [精彩] 关于脱离python环境运行的问题,再次重申。
    http://wiki.woodpecker.org.cn/moin/PyProgFaq里面已经讲很清楚了。
    特转贴过来,请大家根据情况来选择适合的方式。

    如果你只是希望用户运行一个单独的程序而不需要预先下载一个python的发行版,则并不需要将Python代码编译成C代码。有很多工具可以找出程序依赖的模块并将这些模块 与程序绑定在一起以产生一个单独的执行文件。 

    其中一种工具就是freeze tool, 它作为Tools/freeze被包含在python的代码树中。它将python字节码转换成C数组,和一个可将你所有模块嵌入到新程序中的编译器,这个编译器跟python模块链接在一起。 

    它根据import语句递归地扫描源代码,并查找在标准python路径中的模块和源代码目录中的模块(内建模块)。用python写的模块的字节码随后被转换成C代码(可以通过使用marshal模块转换成代码对象的数组构 造器),并产生一个可自定义的配置文件,只包含程序使用了的模块。 最后将生成的C代码编译并链接至余下的的python解释器,产生一个与你的script执行效果完全一样的单独文件。 

    显然,freeze需要一个C编译器。但也有一些工具并不需要。首先便是Gordon McMillan's installer,它在 

     http://www.mcmillan-inc.com/install1.html 

    它工作在Windows, Linux和至少是部分Unix变种上。 
    (注:在*nix下推荐此方式。通过make后得到一个独立的文件。)

    另一个便是Thomas Heller的 py2exe (只适用于Windows平台),它在 

     http://starship.python.net/crew/theller/py2exe 

    (注:在win下推荐此方式,使用简单,功能强大。缺点是会生成一大堆文件。和必须要python.dll)

    第三个是Christian Tismer的  SQFREEZE,它将字节码附在一个特殊的python解释器后面,解释器负责找到这段代码。Python 2.4可能会引入类似的机制。 

    其它工具包括Fredrik Lundh的  Squeeze 和 Anthony Tuininga的  cx_Freeze.
    原文:http://www.chinaunix.net/jh/55/687066

  • 相关阅读:
    百度员工揭秘百度八月最新优化的算法《绝密资料》
    解决IE8兼容问题只需要一句简短的代码
    选择Xen与OpenVZ哪种虚拟机做的VPS比较好?
    Windows VPS出现磁盘不足解决方法
    JiaSale 购物按钮 WordPress 插件:让你博客瞬间变成电商网站
    tb
    滚动marquee语法
    Change the marquee directions on button click left and right
    iOS多线程 GCD常见用法
    swift 中关于open ,public ,fileprivate,private ,internal,修饰的说明
  • 原文地址:https://www.cnblogs.com/wallis0922/p/2437505.html
Copyright © 2011-2022 走看看