我们知道,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

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 表示可执行文件的图标

pyinstaller pyInstaller.py
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的更多相关文章

  1. Python打包—Pyinstaller

    2018-09-27 21:12:05   一 前言 在windows平台学习python的过程中,你肯定会遇到需要把.py脚本打包成.exe的情形,如此,至少有两方面的好处:第一,你的代码保密性更好 ...

  2. python打包--pyinstaller打包报错

    先来一段报错信息  目前打包主要涉及socket模块出现的报错 missing module named resource - imported by posix, C:\Users\Administ ...

  3. python打包exe pyinstaller 简单使用

    源由 最近公司让做了一个小工具,使用python写的,写完之后要求能放在其它电脑上运行,于是就开始寻找方案; 按网上的说法 py2exe已经很久没更新了,资料也不多: 于是就采用pyinstaller ...

  4. $python打包工具pyinstaller的用法

    pyinstaller是一个很好用的python打包工具,在Windows环境下可以将python脚本打包成一个exe可执行文件,并且脚本中所依赖的各种第三方库在打包时候都会被统一处理到一起,这样打包 ...

  5. python使用Pyinstaller打包

    一.前言 python文件打包,将.py文件转化成.exe文件(windows平台),可以使用Pyinstaller来打包 Pyinstaller可以在全平台下使用,但是请注意打包生成的文件不能在全平 ...

  6. python打包成exe

    目前有三种方法可以实现python打包成exe,分别为 py2exe Pyinstaller cx_Freeze 其中没有一个是完美的 1.py2exe的话不支持egg类型的python库 2.Pyi ...

  7. 反编译python打包的exe文件

    目录 1.前言 2.使用环境 3.还原过程 4.号外 5.exe文件和所用到的反编译工具 6.参考 7.去签名(补漏) 前言 拿到了利用驱动人生进行传播的病毒样本,发现是python打包成的exe文件 ...

  8. 关于python打包成exe的一点经验之谈

    我经常用python写些脚本什么的,有时候脚本写完以后,每次运行都得在IDE打开在运行,很麻烦,所以经常将python编译成exe.SO...有了一点经验,在这和大家分享一下.      python ...

  9. Python打包成exe,pyc

    D:\mypython\path\ C:\Python27\Scripts\pyinstaller.exe -w mypython.py # Python打包成exe D:\mypython\path ...

随机推荐

  1. How Not to Crash #6: Properties and Accessors(属性,存储器方法使问题)

    How Not to Crash #6: Properties and Accessorshtml, body {overflow-x: initial !important;}html { font ...

  2. Java多线程——sychronized

    概述 关键字synchronized的作用是实现线程间的同步.它的工作是对同步的代码加锁,使得每一次,只能有一个线程进入同步块,从而保证线程间的安全性. 直接作用于实例方法(普通同步方法):对当前实例 ...

  3. <要做股市赢家:杨百万>读书笔记

    书在这里 和这里: 要注意的是,并不是政府每出台一个政策股价就要变.如果听到各种消息,市场却没有反应,就不要去做这个聪明人.有消息后应该密切关注市场反应,看成交量.价格的变化等等,再作决定.总之,关键 ...

  4. win10里如何在中文输入法里添加美国键盘

    在控制面板打开“时钟.语言和区域”设置界面,选中“语言”设置   “语言”设置里点击“添加语言”   在添加语言设置里选择“英语”,并点击“打开”按钮,在“区域变量”设置页面里选择“英语(美国)” , ...

  5. Java编程的逻辑 (44) - 剖析TreeSet

    本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...

  6. SpringBoot2 添加应用拦截器

    项目参考:详细参见:<Spring Boot 2精髓:从构建小系统到架构分布式大系统> 第三章 3.6.1节 拦截器 MyWebMvcConfigurer package com.arch ...

  7. k8s 题目

    这几个月参与了几场面试,设计了多道面试题,觉得可以综合考察应聘人对 kubernetes的掌握情况.在这里分享下,供应聘人自查以及其他面试官参考. 这些面试题的设计初衷并不是考察 kubernetes ...

  8. WebRTC源码分析(一):安卓相机采集实现分析

    WebRTC 的代码量不小,一次性看明白不太现实,在本系列中,我将试图搞清楚三个问题: 客户端之间如何建立连接? 客户端之间如何实现数据传输? 音视频数据的采集.预览.编码.传输.解码.渲染完整流程. ...

  9. Java设计模式(12)迭代模式(Iterator模式)

    上了这么多年学,我发现一个问题,好象老师都很喜欢点名,甚至点名都成了某些老师的嗜好,一日不点名,就饭吃不香,觉睡不好似的,我就觉得很奇怪,你的课要是讲的好,同学又怎么会不来听课呢,殊不知:“误人子弟, ...

  10. Ubuntu下允许Root用户的操作 (图形界面登录、su切换……)

    Ubuntu安装后,root用户默认是被锁定了的,不允许登录,也不允许“su”到 root.虽然这样的设置使安全性更高一些,但对于开发者来 说就显得很不方便了.如何让Ubuntu允许root用户直接登 ...