精华内容
下载资源
问答
  • 如何把Python程序打包成应用程序!

    本次我们需要使用pyinstaller工具,请使用pip3 install pyinstaller来安装。
    还需要easygui模块,使用同样方法安装。

    我们安装成功后,制作一个简单的小游戏:

    from random import randint
    from easygui import msgbox,integerbox
    
    secret = randint(1,100)
    title = '猜数字'
    tries = 0
    msgbox('现在开始猜数字,数字的范围是1-100!',title)
    temp = integerbox("请输入一个数字:",title)
    guess = int(temp)
    
    if guess == secret:   
        msgbox("恭喜你一次就猜对了!",title)   
    else:
        if guess < secret:  
            msgbox("猜小了!",title)  
        else:
            msgbox("猜大了!",title) 
    
    while guess != secret and tries < 15:
    	temp = integerbox("猜错了,重新猜猜吧:",title)
    	guess = int(temp)
    	tries += 1
    	if guess == secret:
    		msgbox("恭喜您,猜对啦!",title)
    	else:
    		if guess < secret:
    			msgbox("猜小了!",title)
    		else:
    			msgbox('猜大了!',title)
    	while tries >=5:
    		msgbox("没有机会了!",title)
    		break
    msgbox("哈哈,正确数字是" + str(secret) + '!',title)
    

    这是一个猜数游戏。我们把它放在一个文件夹下,命名为guess.py。可以先看一下实现效果:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    ……
    效果就先不说了。打开命令提示符,切换到当前目录:
    在这里插入图片描述
    输入以下代码:

    pyinstaller guess.py -F -w
    

    在这里插入图片描述
    然后点回车键,发生了以下的事情:
    在这里插入图片描述
    在这里插入图片描述
    当看到语句Building EXE from EXE-00.toc completed successfully.时,那么我们就成功了!看一下:
    在这里插入图片描述
    我们的文件夹里多了很多文件,可执行文件在dist文件夹里:
    在这里插入图片描述
    效果和运行程序一模一样!

    展开全文
  • 链接:用cx_Freeze把Python代码打包成单个独立的exe可执行文件 【记录】用cx_Freeze把Python代码打包成单个独立的exe可执行文件 背景 之前已经折腾过: 【记录】用PyInstaller把Python代码打包成单个...

    链接:用cx_Freeze把Python代码打包成单个独立的exe可执行文件

    【记录】用cx_Freeze把Python代码打包成单个独立的exe可执行文件

    背景

    之前已经折腾过:

    【记录】用PyInstaller把Python代码打包成单个独立的exe可执行文件

    了,虽然已经,成功的,完美的,把对应的BlogsToWordpress打包成单个exe了。

    但是貌似有人说cx_Freeze打包处理的文件会更小些,所以接着打算再去试试cx_Freeze。

    cx_Freeze简介

    将Python打包成可执行文件,cx_Freeze算是其中一个。

    另外两个是py2exe和PyInstaller

     

    cx_Freeze的特点

    其最大特点,目前看来,是只有cx_Freeze支持Python 3.x版本(py2exe和PyInstaller都暂不支持)。

     

    下载cx_Freeze

    找到

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

    中的

    最新的

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

    下载和我当前环境:

    win7 x64 + Python 2.7

    所对应的:

    cx_Freeze-4.3.1.win-amd64-py2.7.msi

    得到688KB的

    cx_Freeze-4.3.1.win-amd64-py2.7.msi

     

    安装cx_Freeze

    双击cx_Freeze-4.3.1.win-amd64-py2.7.msi去安装:

    python 2.7 cx_Freeze 4.3.1 setup ui

    found python path from reg

    install cs_Freeze

    然后就完成了。

     

    使用cx_Freeze去打包exe

    1.想去官网:

    cx-freeze.sourceforge.net

    找文档,结果很悲催的,此刻打不开。。。

    2.找到一个readme:

    http://python.net/crew/atuining/cx_Freeze/README.txt

    然后去cmd中运行

    FreezePython –help

    结果都失败了:

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\cs_Freeze>FreezePython --help
    'FreezePython' is not recognized as an internal or external command,
    operable program or batch file.
     
    D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\cs_Freeze>FreezePython.py --help
    'FreezePython.py' is not recognized as an internal or external command,
    operable program or batch file.
     
    D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\cs_Freeze>

    3.继续找参考资料。

    在安装目录中:

    D:\tmp\dev_install_root\Python27_x64\Lib\site-packages\cx_Freeze

    也没有找到相关文档。

    4.后来终于找到之前就看到过的这个:

    Welcome to cx_Freeze’s documentation!

    cx_Freeze使用方法简介

    cx_Freeze的三种用法

    按照教程说法,cx_Freeze有三种用法:

    • 使用内含的cxfreeze script:用于简单的python脚本
    • 创建distutils setup script:用于稍微复杂的Python脚本,或为以后预留一定的配置
    • 直接使用cx_Freeze内部相关的类和模块:用于很复杂的Python脚本,或用于扩展,嵌入

     

    cx_Freeze可生成三种可执行文件

    产生的可执行文件,也有三种:

    • 把脚本用zip压缩成可执行文件:早期的cx_Freeze只支持此种单一方法
    • 创建出一个私有的zip压缩文件,但是文件名和前者一样,且以.zip结尾
    • 创建一个名为library.zip的压缩文件,把所有的模块都放到此文件里面:默认使用此种方法

    后两种方法,对于Linux下面的RPM包,是必须要有的过程。

     

    生成单一可执行文件的方法

    cx_Freeze默认情况下,是会生成,一个可执行文件,加上一堆运行所需的(.dll或.so等)库文件。

    如果想要生成单一的可执行文件:

    • Windows下的exe:使用(方法2的)setup script,且加上参数bdist_msi
    • Mac下的dmg:使用(方法2的)setup script,且加上参数bdist_dmg

     

    针对Windows要注意的

    Windows下的Python 2.6+,需要Microsoft Visual C++ 2008 Redistributable Package

    cx_Freeze目前策略是,不自动拷贝相关所依赖的dll库文件。

    关于其所说的:

    C:\WINDOWS\WinSxS\Manifests\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_d08d0375.manifest

    C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_d08d0375\msvcm90.dll

    C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_d08d0375\msvcp90.dll

    C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_d08d0375\msvcr90.dll

    自己此处win7 x64中只找到:

    C:\Windows\winsxs\Manifests\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91.manifest

    C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91\msvcm90.dll

    C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91\msvcp90.dll

    C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91\msvcr90.dll

    不过,应该是一样可以用的。

    另外,也看到了,与这些文件对应的,还有些是针对x64的,wow64之类的。

    估计是用于发布x64版本的可执行文件时,需要用到。

    此处,顺便贴上

    C:\Windows\winsxs\Manifests\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91.manifest

    的内容

    ?
    1
    2
    3
    4
    5
    6
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
        <noInheritable></noInheritable>
        <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
        <file name="msvcr90.dll" hashalg="SHA1" hash="e0dcdcbfcb452747da530fae6b000d47c8674671"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>KSaO8M0iCtPF6YEr79P1dZsnomY=</dsig:DigestValue></asmv2:hash></file> <file name="msvcp90.dll" hashalg="SHA1" hash="81efe890e4ef2615c0bb4dda7b94bea177c86ebd"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>ojDmTgpYMFRKJYkPcM6ckpYkWUU=</dsig:DigestValue></asmv2:hash></file> <file name="msvcm90.dll" hashalg="SHA1" hash="5470081b336abd7b82c6387567a661a729483b04"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>tVogb8kezDre2mXShlIqpp8ErIg=</dsig:DigestValue></asmv2:hash></file>
    </assembly>

     

    cx_Freeze中的distutils setup script的方法去生成可执行文件

    1.参考:

    distutils setup script

    https://bitbucket.org/anthony_tuininga/cx_freeze/src

    中的示例代码:

    https://bitbucket.org/anthony_tuininga/cx_freeze/src/8913025af703028dfa7cc019c482be920f491dba/samples?at=default

    去试试。

    创建了一个:

    D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\cs_Freeze\setup.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
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    #-------------------------------------------------------------------------------
    # Name:        【记录】用cx_Freeze把Python代码打包成单个独立的exe可执行文件
    # Author:       Crifan Li
    #
    # Created:      06/01/2013
    # Copyright:    (c) Crifan Li 2013
    # Licence:      www.crifan.com
    #-------------------------------------------------------------------------------
     
    import sys;
    from cx_Freeze import setup, Executable;
     
    # Dependencies are automatically detected, but it might need fine tuning.
    build_exe_options = {
        "packages"  : ["os"],
        #"includes": ["PIL"],
        "path"      : "D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\BlogsToWordpress\libs,D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\BlogsToWordpress\libs\crifan,D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\BlogsToWordpress\libs\crifan\blogModules,D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\BlogsToWordpress\libs\thirdparty,D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\BlogsToWordpress\libs\thirdparty\chardet,",
        "icon"      : "../../BlogsToWordpress\BlogsToWordpress.ico",
         
    };
     
    # GUI applications require a different base on Windows (the default is for a
    # console application).
    base = None
    if sys.platform == "win32":
        base = "Win32GUI"
     
    setup(  name = "BlogsToWordpress",
            version = "16.8",
            description = u"将百度空间(新版和旧版),网易163,新浪sina,QQ空间,人人网,CSDN,搜狐Sohu,博客大巴Blogbus,天涯博客,点点轻博客等博客搬家到WordPress",
            options = {"build_exe": build_exe_options},
            executables = [Executable("../../BlogsToWordpress/BlogsToWordpress.py", base=base)])

    其中:

    • 此处故意没有把所有的模块都加到packages,否则单独一个个拷贝模块,也就累死了。看看脚本能否自动添加进去;

    试试运行结果,结果出错:

    ImportError: No module named ‘traceback’

    详见:

    【已解决】Python中通过cx_Freeze去打包exe出错:ImportError: No module named ‘traceback’

    果然不够智能和好用啊。。。

    2.最后,是如下配置:

    ?
    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
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    #-------------------------------------------------------------------------------
    # Name:        【记录】用cx_Freeze把Python代码打包成单个独立的exe可执行文件
    # Author:       Crifan Li
    #
    # Created:      06/01/2013
    # Copyright:    (c) Crifan Li 2013
    # Licence:      www.crifan.com
    #-------------------------------------------------------------------------------
     
    # import sys;
    # import traceback;
    from cx_Freeze import setup, Executable;
     
    # # Dependencies are automatically detected, but it might need fine tuning.
    # build_exe_options = {
        # "packages"  : ["os"],
        # "includes" : [
            # "PIL",
            # #"traceback",
        # ],
        # "path"      : "D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\BlogsToWordpress\libs,D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\BlogsToWordpress\libs\crifan,D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\BlogsToWordpress\libs\crifan\blogModules,D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\BlogsToWordpress\libs\thirdparty,D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\BlogsToWordpress\libs\thirdparty\chardet,",
        # "icon"      : "../../BlogsToWordpress\BlogsToWordpress.ico",
         
    # };
     
    # GUI applications require a different base on Windows (the default is for a
    # console application).
    # base = None;
    # if sys.platform == "win32":
        # base = "Win32GUI"
     
    setup(  name = "BlogsToWordpress",
            version = "16.8",
            description = u"将百度空间(新版和旧版),网易163,新浪sina,QQ空间,人人网,CSDN,搜狐Sohu,博客大巴Blogbus,天涯博客,点点轻博客等博客搬家到WordPress",
            #options = {"build_exe": build_exe_options},
            #executables = [Executable("..\BlogsToWordpress\BlogsToWordpress.py", base=base)])
            executables = [Executable("..\BlogsToWordpress\BlogsToWordpress.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
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\cx_Freeze>setup.py bdist_msi
    running bdist_msi
    running build
    running build_exe
    creating directory build\exe.win-amd64-2.7
    copying D:\tmp\dev_install_root\Python27_x64\lib\site-packages\cx_Freeze\bases\Console.exe -> build\exe.win-amd64-2.7\BlogsToWordpress.exe
    copying C:\Windows\system32\python27.dll -> build\exe.win-amd64-2.7\python27.dll
    Stamped: build\exe.win-amd64-2.7\BlogsToWordpress.exe
    writing zip file build\exe.win-amd64-2.7\library.zip
     
      Name                      File
      ----                      ----
    m BUILD_CONSTANTS
    m StringIO
    m UserDict
    m __builtin__
    m __future__                D:\tmp\dev_install_root\Python27_x64\lib\__future__.py
    m __main__
    m _abcoll
    m _bisect
    m _codecs
    m _codecs_cn
    m _codecs_hk
    m _codecs_iso2022
    m _codecs_jp
    m _codecs_kr
    m _codecs_tw
    m _collections
    m _functools
    m _hashlib                  D:\tmp\dev_install_root\Python27_x64\DLLs\_hashlib.pyd
    m _heapq
    m _locale
    m _md5
    m _multibytecodec
    m _random
    m _sha
    m _sha256
    m _sha512
    m _socket                   D:\tmp\dev_install_root\Python27_x64\DLLs\_socket.pyd
    m _sre
    m _ssl                      D:\tmp\dev_install_root\Python27_x64\DLLs\_ssl.pyd
    m _strptime                 D:\tmp\dev_install_root\Python27_x64\lib\_strptime.py
    m _struct
    m _threading_local          D:\tmp\dev_install_root\Python27_x64\lib\_threading_local.py
    m _warnings
    m _weakref
    m _weakrefset
    m _winreg
    m abc
    m array
    m atexit                    D:\tmp\dev_install_root\Python27_x64\lib\atexit.py
    m base64
    m bdb                       D:\tmp\dev_install_root\Python27_x64\lib\bdb.py
    m binascii
    m bisect                    D:\tmp\dev_install_root\Python27_x64\lib\bisect.py
    m blogstowordpress__main__  ..\BlogsToWordpress\BlogsToWordpress.py
    m bz2                       D:\tmp\dev_install_root\Python27_x64\DLLs\bz2.pyd
    m cPickle
    m cStringIO
    m calendar                  D:\tmp\dev_install_root\Python27_x64\lib\calendar.py
    m cmd                       D:\tmp\dev_install_root\Python27_x64\lib\cmd.py
    m codecs
    m collections               D:\tmp\dev_install_root\Python27_x64\lib\collections.py
    m copy
    m copy_reg
    m cx_Freeze__init__         D:\tmp\dev_install_root\Python27_x64\lib\site-packages\cx_Freeze\initscripts\Console.py
    m datetime
    m difflib                   D:\tmp\dev_install_root\Python27_x64\lib\difflib.py
    m dis                       D:\tmp\dev_install_root\Python27_x64\lib\dis.py
    m doctest                   D:\tmp\dev_install_root\Python27_x64\lib\doctest.py
    m dummy_thread              D:\tmp\dev_install_root\Python27_x64\lib\dummy_thread.py
    P email                     D:\tmp\dev_install_root\Python27_x64\lib\email\__init__.py
    m email._parseaddr          D:\tmp\dev_install_root\Python27_x64\lib\email\_parseaddr.py
    m email.base64mime          D:\tmp\dev_install_root\Python27_x64\lib\email\base64mime.py
    m email.charset             D:\tmp\dev_install_root\Python27_x64\lib\email\charset.py
    m email.encoders            D:\tmp\dev_install_root\Python27_x64\lib\email\encoders.py
    m email.errors              D:\tmp\dev_install_root\Python27_x64\lib\email\errors.py
    m email.feedparser          D:\tmp\dev_install_root\Python27_x64\lib\email\feedparser.py
    m email.generator           D:\tmp\dev_install_root\Python27_x64\lib\email\generator.py
    m email.header              D:\tmp\dev_install_root\Python27_x64\lib\email\header.py
    m email.iterators           D:\tmp\dev_install_root\Python27_x64\lib\email\iterators.py
    m email.message             D:\tmp\dev_install_root\Python27_x64\lib\email\message.py
    P email.mime                D:\tmp\dev_install_root\Python27_x64\lib\email\mime\__init__.py
    m email.parser              D:\tmp\dev_install_root\Python27_x64\lib\email\parser.py
    m email.quoprimime          D:\tmp\dev_install_root\Python27_x64\lib\email\quoprimime.py
    m email.utils               D:\tmp\dev_install_root\Python27_x64\lib\email\utils.py
    P encodings
    m encodings.aliases
    m encodings.ascii
    m encodings.base64_codec
    m encodings.big5
    m encodings.big5hkscs
    m encodings.bz2_codec
    m encodings.charmap
    m encodings.cp037
    m encodings.cp1006
    m encodings.cp1026
    m encodings.cp1140
    m encodings.cp1250
    m encodings.cp1251
    m encodings.cp1252
    m encodings.cp1253
    m encodings.cp1254
    m encodings.cp1255
    m encodings.cp1256
    m encodings.cp1257
    m encodings.cp1258
    m encodings.cp424
    m encodings.cp437
    m encodings.cp500
    m encodings.cp720
    m encodings.cp737
    m encodings.cp775
    m encodings.cp850
    m encodings.cp852
    m encodings.cp855
    m encodings.cp856
    m encodings.cp857
    m encodings.cp858
    m encodings.cp860
    m encodings.cp861
    m encodings.cp862
    m encodings.cp863
    m encodings.cp864
    m encodings.cp865
    m encodings.cp866
    m encodings.cp869
    m encodings.cp874
    m encodings.cp875
    m encodings.cp932
    m encodings.cp949
    m encodings.cp950
    m encodings.euc_jis_2004
    m encodings.euc_jisx0213
    m encodings.euc_jp
    m encodings.euc_kr
    m encodings.gb18030
    m encodings.gb2312
    m encodings.gbk
    m encodings.hex_codec
    m encodings.hp_roman8
    m encodings.hz
    m encodings.idna
    m encodings.iso2022_jp
    m encodings.iso2022_jp_1
    m encodings.iso2022_jp_2
    m encodings.iso2022_jp_2004
    m encodings.iso2022_jp_3
    m encodings.iso2022_jp_ext
    m encodings.iso2022_kr
    m encodings.iso8859_1
    m encodings.iso8859_10
    m encodings.iso8859_11
    m encodings.iso8859_13
    m encodings.iso8859_14
    m encodings.iso8859_15
    m encodings.iso8859_16
    m encodings.iso8859_2
    m encodings.iso8859_3
    m encodings.iso8859_4
    m encodings.iso8859_5
    m encodings.iso8859_6
    m encodings.iso8859_7
    m encodings.iso8859_8
    m encodings.iso8859_9
    m encodings.johab
    m encodings.koi8_r
    m encodings.koi8_u
    m encodings.latin_1
    m encodings.mac_arabic
    m encodings.mac_centeuro
    m encodings.mac_croatian
    m encodings.mac_cyrillic
    m encodings.mac_farsi
    m encodings.mac_greek
    m encodings.mac_iceland
    m encodings.mac_latin2
    m encodings.mac_roman
    m encodings.mac_romanian
    m encodings.mac_turkish
    m encodings.mbcs
    m encodings.palmos
    m encodings.ptcp154
    m encodings.punycode
    m encodings.quopri_codec
    m encodings.raw_unicode_escape
    m encodings.rot_13
    m encodings.shift_jis
    m encodings.shift_jis_2004
    m encodings.shift_jisx0213
    m encodings.string_escape
    m encodings.tis_620
    m encodings.undefined
    m encodings.unicode_escape
    m encodings.unicode_internal
    m encodings.utf_16
    m encodings.utf_16_be
    m encodings.utf_16_le
    m encodings.utf_32
    m encodings.utf_32_be
    m encodings.utf_32_le
    m encodings.utf_7
    m encodings.utf_8
    m encodings.utf_8_sig
    m encodings.uu_codec
    m encodings.zlib_codec
    m errno
    m exceptions
    m fnmatch                   D:\tmp\dev_install_root\Python27_x64\lib\fnmatch.py
    m ftplib                    D:\tmp\dev_install_root\Python27_x64\lib\ftplib.py
    m functools                 D:\tmp\dev_install_root\Python27_x64\lib\functools.py
    m genericpath
    m getopt                    D:\tmp\dev_install_root\Python27_x64\lib\getopt.py
    m getpass                   D:\tmp\dev_install_root\Python27_x64\lib\getpass.py
    m gettext                   D:\tmp\dev_install_root\Python27_x64\lib\gettext.py
    m hashlib                   D:\tmp\dev_install_root\Python27_x64\lib\hashlib.py
    m heapq                     D:\tmp\dev_install_root\Python27_x64\lib\heapq.py
    m httplib                   D:\tmp\dev_install_root\Python27_x64\lib\httplib.py
    m imp
    m inspect                   D:\tmp\dev_install_root\Python27_x64\lib\inspect.py
    m itertools
    m keyword                   D:\tmp\dev_install_root\Python27_x64\lib\keyword.py
    m linecache
    m locale                    D:\tmp\dev_install_root\Python27_x64\lib\locale.py
    P logging                   D:\tmp\dev_install_root\Python27_x64\lib\logging\__init__.py
    m math
    m mimetools                 D:\tmp\dev_install_root\Python27_x64\lib\mimetools.py
    m mimetypes                 D:\tmp\dev_install_root\Python27_x64\lib\mimetypes.py
    m msvcrt
    m nt
    m ntpath
    m nturl2path                D:\tmp\dev_install_root\Python27_x64\lib\nturl2path.py
    m opcode                    D:\tmp\dev_install_root\Python27_x64\lib\opcode.py
    m operator
    m optparse                  D:\tmp\dev_install_root\Python27_x64\lib\optparse.py
    m os
    m pdb                       D:\tmp\dev_install_root\Python27_x64\lib\pdb.py
    m platform                  D:\tmp\dev_install_root\Python27_x64\lib\platform.py
    m plistlib                  D:\tmp\dev_install_root\Python27_x64\lib\plistlib.py
    m posixpath
    m pprint                    D:\tmp\dev_install_root\Python27_x64\lib\pprint.py
    m pyexpat                   D:\tmp\dev_install_root\Python27_x64\DLLs\pyexpat.pyd
    m pywintypes                C:\Windows\system32\pywintypes27.dll
    m quopri
    m random                    D:\tmp\dev_install_root\Python27_x64\lib\random.py
    m re                        D:\tmp\dev_install_root\Python27_x64\lib\re.py
    m repr
    m rfc822                    D:\tmp\dev_install_root\Python27_x64\lib\rfc822.py
    m shlex                     D:\tmp\dev_install_root\Python27_x64\lib\shlex.py
    m signal
    m socket                    D:\tmp\dev_install_root\Python27_x64\lib\socket.py
    m sre_compile               D:\tmp\dev_install_root\Python27_x64\lib\sre_compile.py
    m sre_constants             D:\tmp\dev_install_root\Python27_x64\lib\sre_constants.py
    m sre_parse                 D:\tmp\dev_install_root\Python27_x64\lib\sre_parse.py
    m ssl                       D:\tmp\dev_install_root\Python27_x64\lib\ssl.py
    m stat
    m string
    m stringprep
    m strop
    m struct
    m sys
    m tempfile                  D:\tmp\dev_install_root\Python27_x64\lib\tempfile.py
    m textwrap                  D:\tmp\dev_install_root\Python27_x64\lib\textwrap.py
    m thread
    m threading                 D:\tmp\dev_install_root\Python27_x64\lib\threading.py
    m time
    m token                     D:\tmp\dev_install_root\Python27_x64\lib\token.py
    m tokenize                  D:\tmp\dev_install_root\Python27_x64\lib\tokenize.py
    m traceback
    m types
    m unicodedata               D:\tmp\dev_install_root\Python27_x64\DLLs\unicodedata.pyd
    P unittest                  D:\tmp\dev_install_root\Python27_x64\lib\unittest\__init__.py
    m unittest.case             D:\tmp\dev_install_root\Python27_x64\lib\unittest\case.py
    m unittest.loader           D:\tmp\dev_install_root\Python27_x64\lib\unittest\loader.py
    m unittest.main             D:\tmp\dev_install_root\Python27_x64\lib\unittest\main.py
    m unittest.result           D:\tmp\dev_install_root\Python27_x64\lib\unittest\result.py
    m unittest.runner           D:\tmp\dev_install_root\Python27_x64\lib\unittest\runner.py
    m unittest.signals          D:\tmp\dev_install_root\Python27_x64\lib\unittest\signals.py
    m unittest.suite            D:\tmp\dev_install_root\Python27_x64\lib\unittest\suite.py
    m unittest.util             D:\tmp\dev_install_root\Python27_x64\lib\unittest\util.py
    m urllib                    D:\tmp\dev_install_root\Python27_x64\lib\urllib.py
    m urlparse                  D:\tmp\dev_install_root\Python27_x64\lib\urlparse.py
    m uu                        D:\tmp\dev_install_root\Python27_x64\lib\uu.py
    m warnings
    m weakref
    m win32api                  D:\tmp\dev_install_root\Python27_x64\lib\site-packages\win32\win32api.pyd
    m win32con                  D:\tmp\dev_install_root\Python27_x64\lib\site-packages\win32\lib\win32con.py
    m win32pipe                 D:\tmp\dev_install_root\Python27_x64\lib\site-packages\win32\win32pipe.pyd
    P xml                       D:\tmp\dev_install_root\Python27_x64\lib\xml\__init__.py
    P xml.parsers               D:\tmp\dev_install_root\Python27_x64\lib\xml\parsers\__init__.py
    m xml.parsers.expat         D:\tmp\dev_install_root\Python27_x64\lib\xml\parsers\expat.py
    P xml.sax                   D:\tmp\dev_install_root\Python27_x64\lib\xml\sax\__init__.py
    m xml.sax._exceptions       D:\tmp\dev_install_root\Python27_x64\lib\xml\sax\_exceptions.py
    m xml.sax.expatreader       D:\tmp\dev_install_root\Python27_x64\lib\xml\sax\expatreader.py
    m xml.sax.handler           D:\tmp\dev_install_root\Python27_x64\lib\xml\sax\handler.py
    m xml.sax.saxutils          D:\tmp\dev_install_root\Python27_x64\lib\xml\sax\saxutils.py
    m xml.sax.xmlreader         D:\tmp\dev_install_root\Python27_x64\lib\xml\sax\xmlreader.py
    m zipimport
    m zlib
     
    Missing modules:
    ? BlogBaidu imported from blogstowordpress__main__
    ? BlogBlogbus imported from blogstowordpress__main__
    ? BlogCsdn imported from blogstowordpress__main__