使用py2exe在Windows下将Python程序转为exe文件

yipeiwu_com5年前Python基础

前提条件:
需要安装easy-install模块,这是一个python的模块打包工具。

首先下载easy_setup.py的源代码,下载地址:
http://pypi.python.org/pypi/setuptools
自己用记事本存放源代码用.py后缀名,在命令行执行即可,这样你就可以在python的安装目录下Python\Scripts这个目录看到有多好几个关于easy_install的文件,说明这个easy_install安装好了,那么应该如何使用这个这个安装方法呢?

打开cmd,命令行,进入到Python\Scripts目录下,这个目录下执行easy_install python-dateutil,既可以安装dateutil这个模块,easy_install pyparsing就可以安装pyparsing这个模块了。

我的机子就是:

E:\ANZHUANG\Python\Scripts>easy_install python-dateutil 
E:\ANZHUANG\Python\Scripts>easy_install pyparsing 
E:\ANZHUANG\Python\Scripts>easy_install chardet 

这样执行就ok了!

py2exe模块安装:
http://prdownloads.sourceforge.net/py2exe下载对应版本的安装包。

样例代码:
新建test.py文件,内容如下:

print "show me" 

新建一个mysetup.py编译文件,内容如下:

from distutils.core import setup 
import py2exe 
setup(console=["test.py"]) #注意test.py与前面新建的是一致的 

运行如下命令:

>>python mysetup.py py2exe

运行结果:
当前目录下新增一个dist目录里面包含不等数目的如下类型文件:

  • .exe 其中包含一个目录文件
  • .pyd 已编译的py文件
  • .dll 需要用到的外部DLL文件,其中包含一个pythonxx.dll
  • .zip 需要用到的库文件,里面打包了所有需要库文件的编译文件

查看帮助:

python mysetup.py py2exe --help 

样例目录:
安装py2exe模块后,其自带的样例存放在:lib\site-packages\py2exe\samples

说明:
编译不同类型的二进制所需要的参数是不一样的,比如:命令行程序参数名是console,而GUI程序的参数名是Windows;具体可以先参考样例或帮助命令脚本先!

用后感:
原本以为是转换完以后就只剩一个exe文件,用过才发现并没有想想象中那样把所有的内容都进行了二进制编码。呵呵,有时候想的东西太理想了,毕竟这样时最容易实现的可行方案!

相关文章

使用50行Python代码从零开始实现一个AI平衡小游戏

使用50行Python代码从零开始实现一个AI平衡小游戏

  集智导读: 本文会为大家展示机器学习专家 Mike Shi 如何用 50 行 Python 代码创建一个 AI,使用增强学习技术,玩耍一个保持杆子平衡的小游戏。所用环境为...

Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题

Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题

项目地址:https://github.com/PythonerKK/django-generate-pdf/tree/master 这个demo实现了通过用户输入自己的个人信息生成一份...

在Python中居然可以定义两个同名通参数的函数

在Python中居然可以定义两个同名通参数的函数

一个意外的场景,我发现Python模块中是可以定义相同的名称和参数的函数的, 虽然在eclipse中报错了,但是执行时没有问题的,这个是IDE的问题。 其中的含义是因为第一个函数原本由...

Django框架验证码用法实例分析

本文实例讲述了Django框架验证码用法。分享给大家供大家参考,具体如下: 验证码 1、作用 在用户登录,注册以及一些敏感操作的时候,我们为了防止服务器被暴力请求,或爬虫爬取,我们...

Python break语句详解

Python break语句详解

Python break语句,就像在C语言中,打破了最小封闭for或while循环。break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环...