zoukankan      html  css  js  c++  java
  • python打包_cx_freeze

    python打包:

    因为有需要将python程序的代码进行打包,网上资料较少。

    找到几款工具,cx_freeze可以参考:http://www.haogongju.net/art/1192978

    py2exe可以参考:http://www.cnblogs.com/jogger/archive/2012/06/26/2563806.html

    关于setup的描述参见:http://www.itkee.com/developer/detail-17f8.html

    python脚本打包:http://www.cnblogs.com/sinojelly/archive/2010/02/23/1672283.html

    我试验了一下cvfreeze,是可以做成exe,换windows机器也是可以运行的,但是并不完美,需要继续研究,这里简单记录一些东西。

    1.根据python版本下载安装

    下载地址:http://sourceforge.net/projects/cx-freeze/files/

    根据机器及系统类型下载对应文件并安装。

    安装之后记得修改C:\python27\Scripts\cxfreeze.bat文件:
    @echo off

    C:\python27\python.exe C:\python27\Scripts\cxfreeze %*

    否则总会出现“系统找不到指定路径”的问题。

    正确安装之后 cxfreeze hello.py --target-dir dist 即可生成对应的exe文件,而文件同dll一起copy放到别的机器上是可以正确运行的。

    但是这里也是有缺点的,只能对单个文件进行打包,多文件打包的还在摸索中。后续补充。

     

    ------------------------------------------------------------------------------------------------------------------------

    附上setup的一份文档:

    ------------------------------------------------

    以下内容转自:http://hi.baidu.com/jiyeqian/item/cdce1b0e7eb72294a3df43d9

    Python模块的安装方法:

    1. 单文件模块:直接把文件拷贝到$python_dir/lib

    2. 多文件模块,带setup.py:python setup.py install

    3. egg文件,类似Java的jar:
    1) 下载ez_setup.py,运行python ez_setup
    2) easy_install *.egg

    虽然Python的模块可以拷贝安装,但是一般情况下推荐制作一个安装包,即写一个setup.py文件来安装。

    setup.py文件的使用:
    % python setup.py build #编译
    % python setup.py install #安装
    % python setup.py sdist #制作分发包
    % python setup.py bdist_wininst #制作windows下的分发包
    % python setup.py bdist_rpm

    setup.py文件的编写:
    setup.py中主要执行一个 setup函数,该函数中大部分是描述性东西,最主要的是packages参数,列出所有的package,可以用自带的find_packages来动态获取package。所以setup.py文件的编写实际是很简单的。

    简单的例子:

    setup.py文件:
    from setuptools import setup, find_packages
    setup(
    name="mytest",
    version="0.10",
    description="My test module",
    author="Robin Hood",
    url="http://www.csdn.net",
    license="LGPL",
    packages= find_packages(),
    scripts=["scripts/test.py"],
    )

    mytest.py文件:
    import sys
    def get():
    return sys.path

    scripts/test.py文件:
    import os
    print os.environ.keys()

    setup中的scripts表示将该文件放到 Python的Scripts目录下,可以直接用。OK,简单的安装成功,可以运行所列举的命令生成安装包,或者安装该python包。

    本机测试成功(win32-python25)!

    转自:
    http://blog.csdn.net/foyuan/archive/2007/11/14/1883924.aspx
    http://www.okpython.com/bbs/thread-3103-1-1.html

    赠人玫瑰
    手留余香

    我们曾如此渴望命运的波澜,到最后才发现:人生最曼妙的风景,竟是内心的淡定与从容……我们曾如此期盼外界的认可,到最后才知道:世界是自己的,与他人毫无关系!-杨绛先生

    如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的推荐按钮。
    如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的关注我

  • 相关阅读:
    ruby -- 修改rubymine的字体大小
    ruby -- 基础学习(二) 外键配置实现级联删除
    ruby -- 基础学习(一)项目文件夹说明
    ruby -- 问题解决(二)rails4.0create引起的ActiveModel::ForbiddenAttributesError错误
    ruby -- 问题解决(一)无法连接mysql数据库
    enumerate用法
    python文件调用
    第二天----列表、深浅拷贝、元组、字符串、算数运算、字典、while
    P1005 矩阵取数游戏(动态规划+高精度)
    P1242 新汉诺塔(搜索+模拟退火)
  • 原文地址:https://www.cnblogs.com/haochuang/p/2600943.html
Copyright © 2011-2022 走看看