Python打包-Pyinstaller
我们知道,Python很优雅,很值得学习。但是Python是解释性语言,代码需要有Python解释器才能执行,相比较我们平时直接运行exe等可执行文件多了一步的麻烦。
于是,希望能将Python程序打包成exe,使用起来多方便。
PyInstaller可以将Python程序打包成Windows(当然也包括Linux, Mac OS X, Solaris and AIX)下可执行的EXE文件,目前支持python 2.7 and 3.3—3.6版本。
官网:http://www.pyinstaller.org/
使用pip命令安装:pip install PyInstaller(会将依赖Pywin32也安装,方便)
安装后看下pyinstaller的版本: pyinstaller --version

下面开始使用pyinstaller打包程序:python2.7+pyinstaller3.3
1、新建py文件: pyInstaller.py
|
1
2 3 4 5
|
# pyinstaller
# pip install pyinstaller print "Hello Python!" msg = input()
|
2、执行打包:pyinstaller pyInstaller.py
常用选项参数:pyinstaller -h 获取详细信息
-F 表示生成单个可执行文件
-w 表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!
-p 表示你自己自定义需要加载的类路径,一般情况下用不到
-i 表示可执行文件的图标
|
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
C:\Python27\src>pyinstaller pyInstaller.py
60 INFO: PyInstaller: 3.3.1 60 INFO: Python: 2.7.15 60 INFO: Platform: Windows-7-6.1.7601-SP1 61 INFO: wrote C:\Python27\src\pyInstaller.spec 62 INFO: UPX is not available. 65 INFO: Extending PYTHONPATH with paths ['C:\\Python27\\src', 'C:\\Python27\\src'] 68 INFO: checking Analysis 68 INFO: Building Analysis because out00-Analysis.toc is non existent 69 INFO: Initializing module dependency graph... 71 INFO: Initializing module graph hooks... 156 INFO: running Analysis out00-Analysis.toc 189 INFO: Adding Microsoft.VC90.CRT to dependent assemblies of final executable required by c:\python27\python.exe 1780 INFO: Found C:\Windows\WinSxS\Manifests\x86_policy.9.0.microsoft.vc90.crt_1 fc8b3b9a1e18e3b_9.0.30729.1_none_8550c6b5d18a9128.manifest 1782 INFO: Found C:\Windows\WinSxS\Manifests\x86_policy.9.0.microsoft.vc90.crt_1 fc8b3b9a1e18e3b_9.0.30729.4940_none_f47ed0f6f6564d90.manifest 1791 INFO: Found C:\Windows\WinSxS\Manifests\x86_policy.9.0.microsoft.vc90.crt_1 fc8b3b9a1e18e3b_9.0.30729.6161_none_f480bfaef65491a5.manifest 1823 INFO: Searching for assembly x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30 729.6161_none ... 1824 INFO: Found manifest C:\Windows\WinSxS\Manifests\x86_microsoft.vc90.crt_1fc 8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57.manifest 1825 INFO: Searching for file msvcr90.dll 1825 INFO: Found file C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_ 9.0.30729.6161_none_50934f2ebcb7eb57\msvcr90.dll 1825 INFO: Searching for file msvcp90.dll 1825 INFO: Found file C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_ 9.0.30729.6161_none_50934f2ebcb7eb57\msvcp90.dll 1825 INFO: Searching for file msvcm90.dll 1827 INFO: Found file C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_ 9.0.30729.6161_none_50934f2ebcb7eb57\msvcm90.dll 1856 INFO: Found C:\Windows\WinSxS\Manifests\x86_policy.9.0.microsoft.vc90.crt_1 fc8b3b9a1e18e3b_9.0.30729.1_none_8550c6b5d18a9128.manifest 1857 INFO: Found C:\Windows\WinSxS\Manifests\x86_policy.9.0.microsoft.vc90.crt_1 fc8b3b9a1e18e3b_9.0.30729.4940_none_f47ed0f6f6564d90.manifest 1858 INFO: Found C:\Windows\WinSxS\Manifests\x86_policy.9.0.microsoft.vc90.crt_1 fc8b3b9a1e18e3b_9.0.30729.6161_none_f480bfaef65491a5.manifest 1859 INFO: Adding redirect Microsoft.VC90.CRT version (9, 0, 21022, 8) -> (9, 0, 30729, 6161) 2138 INFO: Caching module hooks... 2144 INFO: Analyzing C:\Python27\src\pyInstaller.py 2144 INFO: Loading module hooks... 2146 INFO: Loading module hook "hook-encodings.py"... 5555 INFO: Looking for ctypes DLLs 5555 INFO: Analyzing run-time hooks ... 5561 INFO: Looking for dynamic libraries 5680 INFO: Looking for eggs 5682 INFO: Using Python library C:\Windows\system32\python27.dll 5682 INFO: Found binding redirects: [BindingRedirect(name=u'Microsoft.VC90.CRT', language=None, arch=u'x86', oldVers ion=(9, 0, 21022, 8), newVersion=(9, 0, 30729, 6161), publicKeyToken=u'1fc8b3b9a 1e18e3b')] 5685 INFO: Warnings written to C:\Python27\src\build\pyInstaller\warnpyInstaller .txt 5711 INFO: Graph cross-reference written to C:\Python27\src\build\pyInstaller\xr ef-pyInstaller.html 5748 INFO: checking PYZ 5748 INFO: Building PYZ because out00-PYZ.toc is non existent 5749 INFO: Building PYZ (ZlibArchive) C:\Python27\src\build\pyInstaller\out00-PY Z.pyz 5993 INFO: Building PYZ (ZlibArchive) C:\Python27\src\build\pyInstaller\out00-PY Z.pyz completed successfully. 6028 INFO: checking PKG 6029 INFO: Building PKG because out00-PKG.toc is non existent 6029 INFO: Building PKG (CArchive) out00-PKG.pkg 6048 INFO: Building PKG (CArchive) out00-PKG.pkg completed successfully. 6051 INFO: Bootloader c:\python27\lib\site-packages\PyInstaller\bootloader\Windo ws-32bit\run.exe 6051 INFO: checking EXE 6051 INFO: Building EXE because out00-EXE.toc is non existent 6052 INFO: Building EXE from out00-EXE.toc 6052 INFO: Appending archive to EXE C:\Python27\src\build\pyInstaller\pyInstalle r.exe 6054 INFO: Building EXE from out00-EXE.toc completed successfully. 6060 INFO: checking COLLECT 6061 INFO: Building COLLECT because out00-COLLECT.toc is non existent 6063 INFO: Building COLLECT out00-COLLECT.toc 6073 INFO: Redirecting Microsoft.VC90.CRT version (9, 0, 21022, 8) -> (9, 0, 307 29, 6161) 6291 INFO: Redirecting Microsoft.VC90.CRT version (9, 0, 21022, 8) -> (9, 0, 307 29, 6161) 6297 INFO: Updating manifest in C:\Users\Michael\AppData\Roaming\pyinstaller\bin cache00_py27_32bit\python27.dll 6382 INFO: Updating resource type 24 name 2 language 1033 6572 INFO: Building COLLECT out00-COLLECT.toc completed successfully. |
执行完毕后,会在当前目录的dist 中生成pyInstaller.exe

Python打包-Pyinstaller的更多相关文章
- Python打包—Pyinstaller
2018-09-27 21:12:05 一 前言 在windows平台学习python的过程中,你肯定会遇到需要把.py脚本打包成.exe的情形,如此,至少有两方面的好处:第一,你的代码保密性更好 ...
- python打包--pyinstaller打包报错
先来一段报错信息 目前打包主要涉及socket模块出现的报错 missing module named resource - imported by posix, C:\Users\Administ ...
- python打包exe pyinstaller 简单使用
源由 最近公司让做了一个小工具,使用python写的,写完之后要求能放在其它电脑上运行,于是就开始寻找方案; 按网上的说法 py2exe已经很久没更新了,资料也不多: 于是就采用pyinstaller ...
- $python打包工具pyinstaller的用法
pyinstaller是一个很好用的python打包工具,在Windows环境下可以将python脚本打包成一个exe可执行文件,并且脚本中所依赖的各种第三方库在打包时候都会被统一处理到一起,这样打包 ...
- python使用Pyinstaller打包
一.前言 python文件打包,将.py文件转化成.exe文件(windows平台),可以使用Pyinstaller来打包 Pyinstaller可以在全平台下使用,但是请注意打包生成的文件不能在全平 ...
- python打包成exe
目前有三种方法可以实现python打包成exe,分别为 py2exe Pyinstaller cx_Freeze 其中没有一个是完美的 1.py2exe的话不支持egg类型的python库 2.Pyi ...
- 反编译python打包的exe文件
目录 1.前言 2.使用环境 3.还原过程 4.号外 5.exe文件和所用到的反编译工具 6.参考 7.去签名(补漏) 前言 拿到了利用驱动人生进行传播的病毒样本,发现是python打包成的exe文件 ...
- 关于python打包成exe的一点经验之谈
我经常用python写些脚本什么的,有时候脚本写完以后,每次运行都得在IDE打开在运行,很麻烦,所以经常将python编译成exe.SO...有了一点经验,在这和大家分享一下. python ...
- Python打包成exe,pyc
D:\mypython\path\ C:\Python27\Scripts\pyinstaller.exe -w mypython.py # Python打包成exe D:\mypython\path ...
随机推荐
- MySQL日志——二进制日志
Mac怎么这么坑呢,搞了2小时了.唉 先来一个简单的,挖好坑,明天解决. 终端进入mysql: mysql> set global general_log=on; 然后进行数据库的任意操作: 查 ...
- Spark算子总结(带案例)
Spark算子总结(带案例) spark算子大致上可分三大类算子: 1.Value数据类型的Transformation算子,这种变换不触发提交作业,针对处理的数据项是Value型的数据. 2.Key ...
- 如何在CentOS 6.5上升级PHP
CentOS 6.5上默认安装PHP 5.3.因为后台网站无法正确运行在PHP 5.3上,所以计划将PHP升级到开发平台一样的版本PHP 5.5.为了方便,我们采用YUM的方式升级PHP 工具/原料 ...
- 使用FineReport打造考试分析系统
本系统的优点: 1.报表内容丰富:系统中包含总分分析.小分分析.作答错因分析.试卷命题分析和各类用户报告单五类报表.涵盖学校须要的各项分析数据,并提供丰富的图表,使分析数据更直观表现. 2.操作灵活简 ...
- 多选下拉框带搜索(aps.net)
自己写了一个带搜索功能的多选下拉框,为了要获取值,就没有封装插件,实现思路 1.一个文本框 做搜索 2.一个文本框显示选中文本,一个隐藏控件存值 3.一个div里面绑定CheckBoxList控件(这 ...
- Redis键
Redis的keys命令用于管理键.使用Redis的keys命令语法如下所示: 语法 redis 127.0.0.1:6379> COMMAND KEY_NAME 例子 redis 127.0. ...
- TIDB介绍 新数据库趋势
TIDB是什么? TIDB 受谷歌Spanner和F1的论文启发的new sql数据库,这类数据库不仅具有NoSQL对海量数据的存储管理能力,还保持了传统数据库支持ACID和SQL等特性,同类数据库还 ...
- jqgrid 查询
<!DOCTYPE html> <html lang="en" lang="en" xmlns="http://www.w3.org ...
- AutoCAD 导入 Altium Designer 10 教程
http://www.geek-workshop.com/thread-5478-1-1.html
- Mininet的介绍&安装
Mininet的介绍 Mininet是一个强大的网络仿真平台,通过这个这个平台,我们可以很方便的模拟真实环境中的网络操作与架构.当前SDN/OpenFlow发展的如火如荼,但是在真实网络中又不可以进行 ...