我们用 Python 写好的代码,如何给别人在没有配置 Python 环境的情况下直接使用呢?尤其是面向 windows 众。

因为 Python 是一门解释性的语言,离开了 Python 解释器,Python 无法执行。但是我们还有相应的解决方案,答案就是打包成 .exe 可执行文件

当然这篇正文前废话两句,一是看过之前网上的一些吐槽,因为没有学过编译原理,所以也不能不懂乱讲,姑且称之为半引用吧:

Python 的哲学是所见即所得,脚本类语言也注定了其加密性不如其他编译生成的语言(比如C++,JAVA,C#)就算封装为 exe,源代码费点力气,也几乎等于可见的,所以,打包 Python 为 exe 更多是为了易用,希望保留源码为自己心血的,还是尝试别的语言,或者纯粹采用卖服务的方式(云平台,web框架,不需要见源码就在客户端使用)

 二是整个摸索过程极其凌乱,相关教程网上也比较少,所以我估计有些地方,我说的也不太多,还请多参照官方文档(虽然自我感觉被官方文档坑了)

这里只介绍 Python3,windows7 下的解决方案,Python2 的相关方案非常多,请自行摸索

首先是安装 Python3 了,去官网下,我的是 3.4 版的,可惜看的不少教程都是针对 3.3 版的。

但是我可以很负责任的说,个人情况是在 3.4 下 cxfreeze.bat 我在 script文件夹里面完全找不到,而且我安装好后直接敲那个命令出来是气死人的不是批处理命令提示

我真想说,看 DOS 一次次弹出这个的时候,真的想吐血,真的心中一万匹草泥马奔腾而过

 但是问题还要解决啊,那么怎么做呢?

首先你先要让 DOS 认识 Python 这个命令,怎么做呢?

计算机 -> 系统属性 -> 高级系统设置 -> 环境变量 -> 系统变量

path 里面加上你的 Python3 所在的目录,前后相隔用; 当然也可以在 Dos 里面设置,但是 Dos 里面设置感觉比 GUI 设置还麻烦

我的是这样子的:

然后就是主角出场了, cx_Freeze,帮助我们把 Python3 文件打包成 exe文件的工具,首先,要下载下来用,资源挂载 sourceforge 上

http://sourceforge.net/projects/cx-freeze/files/

选个合适自己机器的下载吧,我下载的是最新版的 windows64 位版本

然后点开安装,因为下好各种找不到 bat 折腾了半天。

我觉得千言万语都不如看这两个网页有用,官方例子(http://t.cn/REli4pL)和使用方法(http://t.cn/REliK8R)

比较赞的是,用这个工具(目前)没有出现对中文支持不良好的例子,我也在此放在自己的例子

将你的源代码和 setup.py 放在同一路径下,cd 到对应的路径,执行如下命令

耐心等待即可,这个工具会帮你把必要的库也打包进去,当然能不能打第三方库未测试(应该可以)

放上我设置的对应代码

hello.py

# -*- coding: utf-8 -*-
import time
while True:
   print("一分钟显示一次")
   time.sleep(60)  # Delay for 1 minute (60 seconds)

setup.py

from cx_Freeze import setup, Executable

executables = [
   Executable('hello.py')
]

setup(name='hello',
     version='0.1',
     description='Sample cx_Freeze script',
     executables=executables
     )

当然肯定还可以进阶设置,我这个只是最简配置,点开 exe 直接用那种,比如那个 .ico 参数设置下,应该是可以把你生成的 exe 的图标设置为你设置的 icon 样

如果觉得 exe 一下就跳掉了,print 信息都看不到的话,像我代码示例里面一样,导入 time 模块,加上 sleep 方法,delay 一下就可以了~

转载:http://jimmy66.com/1102.html

Python学习交流群:238757010

将 Python3 文件打包成 exe 文件的更多相关文章

  1. Pycharm下将py文件打包成exe文件

    1. 在PyCharm下安装PyInstaller 1. 首先,打开自己要发布的工程   2. 点击底部的[Terminal]打开终端,中输入命令pip install pyinstaller后回车, ...

  2. 将py文件打包成exe文件

    PyInstaller工具是跨平台的,它既可以在 Windows平台上使用,也可以在 Mac OS X 平台上运行.在不同的平台上使用 PyInstaller 工具的方法是一样的,它们支持的选项也是一 ...

  3. pyinstaller相关问题 & pygame文件打包成exe文件 & 武装飞船 & 飞机大战

    自己照书写了一个飞机大战游戏的python程序,想把它打包成一个exe文件,在查阅相关教程并经过数次尝试后终于成功. 安装打包应用 pyinstaller 在cmd命令窗口下pip install p ...

  4. 将python项目.py文件打包成.exe文件

    安装pyinstaller包 pip3 install pyinstaller 如果不行 pip3 install pyinstaller -i https://pypi.doubanio.com/s ...

  5. Python文件打包成EXE文件

    工具:pyinstaller 安装:pip install pyinstaller 使用: 1 将依赖文件集中到一个文件夹:           pyinstaller -D -w xxx.py    ...

  6. [Python]项目打包:5步将py文件打包成exe文件 简介

    1.下载pyinstaller并解压(可以去官网下载最新版): http://nchc.dl.sourceforge.net/project/pyinstaller/2.0/pyinstaller-2 ...

  7. [Python]项目打包:5步将py文件打包成exe文件(转)

    1.下载pyinstaller并解压(可以去官网下载最新版): http://nchc.dl.sourceforge.net/project/pyinstaller/2.0/pyinstaller-2 ...

  8. .py文件打包成.exe文件

    # 使用pyinstaller模块 # pip install pyinstaller # 在命令行执行 pyinstaller -F xxx.py

  9. python的py文件打包成exe

    一.首先需要安装Pyinstaller-- 使用pip来安装模块 (我电脑上装的是python的一个编译环境Anaconda,如果电脑上装的是python自带的IDE的话,就直接进入python的安装 ...

随机推荐

  1. POJ3384 Feng Shui

    嘟嘟嘟 昨天我看到的这道题,今天终于A了. 写这道题的时间其实并不长,主要是我为这题现学了一个半平面相交(虽然是\(O(n ^ 2)\)的--) 思路说难也不难,关键是第一步的转化得想到. 首先可以肯 ...

  2. [CQOI2006]凸多边形(半平面相交)

    嘟嘟嘟 本来我要写feng shui这道题的.然后网上都说什么半平面相交,于是我还得现学这个东西,就来刷这道模板题了. 所谓的半平面相交和高中数学的分数规划特别像.比如这道题,把每一条边看成一条有向直 ...

  3. js事件的机制

    1.html事件处理程序 <button id="btn1" onclick="alert(1);">按钮1</button> 2.do ...

  4. programming-languages学习笔记--第3部分

    programming-languages学习笔记–第3部分 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} pre.src ...

  5. python学习day24 项目目录结构

    项目目录结构 脚本 插入模块:先插入内置模块,然后第三方某块,上短下长! 单可执行文件 config 配置相关 db (database) 数据相关 lib (librarie) 公共功能 src 业 ...

  6. phantomJS浏览器

    无界面浏览器 下载解压缩 http://phantomjs.org/download.html selenium调用 from selenium import webdriver import tim ...

  7. Tomcat处理请求流程

    Connector组件的Acceptor监听客户端套接字连接并接收Socket. 将连接交给线程池Executor处理,开始执行请求响应任务. Processor组件读取消息报文,解析请求行.请求体. ...

  8. [转]未能加载文件或程序集 CrystalDecisions.Web Version=10.2.3600解决方法

    找到你开发的机器上VS安装目录中的SDK\v2.0\BootStrapper\Packages\CrystalReports\CRRedist2005_x86.msi和SDK\v2.0\BootStr ...

  9. 为何.NET Core控制台项目发布后是一个dll文件,而不是exe文件?

    项目中有一个.NET Core控制台项目叫ConsoleCoreApp,写好代码后准备发布: 结果发布后生成的是一个dll文件...为不是一个exe的可执行文件: 后来了解到.NET Core的项目分 ...

  10. AndroidUI组件之AdapterViewFilpper

    package com.gc.adapterviewflipperdemo; /** * 功能:自己主动播放的图片库 * @author Android将军 */ /* * 1.AdapterView ...