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

【问题】

折腾:

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

的过程中,出错:

D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\cx_Freeze>setup.py bdist_msi
running bdist_msi
running build
running build_exe
Traceback (most recent call last):
  File "D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\cx_Freeze\setup.py", line 35, in <module>
    executables = [Executable("../../BlogsToWordpress/BlogsToWordpress.py", base=base)])
  File "D:\tmp\dev_install_root\Python27_x64\lib\site-packages\cx_Freeze\dist.py", line 365, in setup
    distutils.core.setup(**attrs)
  File "D:\tmp\dev_install_root\Python27_x64\lib\distutils\core.py", line 152, in setup
    dist.run_commands()
  File "D:\tmp\dev_install_root\Python27_x64\lib\distutils\dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "D:\tmp\dev_install_root\Python27_x64\lib\distutils\dist.py", line 972, in run_command
    cmd_obj.run()
  File "D:\tmp\dev_install_root\Python27_x64\lib\site-packages\cx_Freeze\windist.py", line 363, in run
    self.run_command('build')
  File "D:\tmp\dev_install_root\Python27_x64\lib\distutils\cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "D:\tmp\dev_install_root\Python27_x64\lib\distutils\dist.py", line 972, in run_command
    cmd_obj.run()
  File "D:\tmp\dev_install_root\Python27_x64\lib\distutils\command\build.py", line 127, in run
    self.run_command(cmd_name)
  File "D:\tmp\dev_install_root\Python27_x64\lib\distutils\cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "D:\tmp\dev_install_root\Python27_x64\lib\distutils\dist.py", line 972, in run_command
    cmd_obj.run()
  File "D:\tmp\dev_install_root\Python27_x64\lib\site-packages\cx_Freeze\dist.py", line 235, in run
    freezer.Freeze()
  File "D:\tmp\dev_install_root\Python27_x64\lib\site-packages\cx_Freeze\freezer.py", line 570, in Freeze
    self.finder = self._GetModuleFinder()
  File "D:\tmp\dev_install_root\Python27_x64\lib\site-packages\cx_Freeze\freezer.py", line 318, in _GetModuleFinder
    argsSource.copyDependentFiles, compress = argsSource.compress)
  File "D:\tmp\dev_install_root\Python27_x64\lib\site-packages\cx_Freeze\finder.py", line 54, in __init__
    self._AddBaseModules()
  File "D:\tmp\dev_install_root\Python27_x64\lib\site-packages\cx_Freeze\finder.py", line 69, in _AddBaseModules
    self.IncludeModule("traceback")
  File "D:\tmp\dev_install_root\Python27_x64\lib\site-packages\cx_Freeze\finder.py", line 526, in IncludeModule
    namespace = namespace)
  File "D:\tmp\dev_install_root\Python27_x64\lib\site-packages\cx_Freeze\finder.py", line 274, in _ImportModule
    raise ImportError("No module named %r" % name)
ImportError: No module named 'traceback'

D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\cx_Freeze>

 

【解决过程】

1.参考:

exe error with cx_freeze

去把includes加上,变成:

#!/usr/bin/python
# -*- coding: utf-8 -*-
#-------------------------------------------------------------------------------
# Name:        【记录】用cx_Freeze把Python代码打包成单个独立的exe可执行文件
# Purpose:      http://www.crifan.com/use_cx_freeze_to_package_python_to_single_executable_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)])

然后再去运行看看效果。

结果问题依旧。

2.把对应的traceback加进去:

    "includes" : [
        "PIL",
        "traceback",
    ],

再去运行看看,问题依旧。

3.参考:

cx_Freeze ImportError: cannot import name

去手动添加参数,结果也不识别:

D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\cx_Freeze>setup.py bdist_msi --include-modules traceback
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: setup.py --help [cmd1 cmd2 ...]
   or: setup.py --help-commands
   or: setup.py cmd --help

error: option --include-modules not recognized

D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\cx_Freeze>setup.py bdist_msi --include-modules=traceback
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: setup.py --help [cmd1 cmd2 ...]
   or: setup.py --help-commands
   or: setup.py cmd --help

error: option --include-modules not recognized

4.貌似需要另外去安装这个traceback模块啊。。。

这也太悲催,太不好用了。

5.网上找不到解决办法。

看来只能自己去看源代码了。。。

6.后来注意到,其中输出有:

executables = [Executable("../../BlogsToWordpress/BlogsToWordpress.py", base=base)])

然后去cmd下面,测试了一下:

D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\cx_Freeze>ls ..\BlogsToWordpress\BlogsToWordpress.py

发现自己多写了个..,所以,应该是:

#!/usr/bin/python
# -*- coding: utf-8 -*-
#-------------------------------------------------------------------------------
# Name:        【记录】用cx_Freeze把Python代码打包成单个独立的exe可执行文件
# Purpose:      http://www.crifan.com/use_cx_freeze_to_package_python_to_single_executable_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",
        #"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)])

然后运行效果是,问题依旧:

D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\cx_Freeze>setup.py bdist_msi
running bdist_msi
running build
running build_exe
Traceback (most recent call last):
  File "D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\cx_Freeze\setup.py", line 38, in <module>
    executables = [Executable("..\BlogsToWordpress\BlogsToWordpress.py", base=base)])
  File "D:\tmp\dev_install_root\Python27_x64\lib\site-packages\cx_Freeze\dist.py", line 365, in setup
    distutils.core.setup(**attrs)
  File "D:\tmp\dev_install_root\Python27_x64\lib\distutils\core.py", line 152, in setup
    dist.run_commands()
  File "D:\tmp\dev_install_root\Python27_x64\lib\distutils\dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "D:\tmp\dev_install_root\Python27_x64\lib\distutils\dist.py", line 972, in run_command
    cmd_obj.run()
  File "D:\tmp\dev_install_root\Python27_x64\lib\site-packages\cx_Freeze\windist.py", line 363, in run
    self.run_command('build')
  File "D:\tmp\dev_install_root\Python27_x64\lib\distutils\cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "D:\tmp\dev_install_root\Python27_x64\lib\distutils\dist.py", line 972, in run_command
    cmd_obj.run()
  File "D:\tmp\dev_install_root\Python27_x64\lib\distutils\command\build.py", line 127, in run
    self.run_command(cmd_name)
  File "D:\tmp\dev_install_root\Python27_x64\lib\distutils\cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "D:\tmp\dev_install_root\Python27_x64\lib\distutils\dist.py", line 972, in run_command
    cmd_obj.run()
  File "D:\tmp\dev_install_root\Python27_x64\lib\site-packages\cx_Freeze\dist.py", line 235, in run
    freezer.Freeze()
  File "D:\tmp\dev_install_root\Python27_x64\lib\site-packages\cx_Freeze\freezer.py", line 570, in Freeze
    self.finder = self._GetModuleFinder()
  File "D:\tmp\dev_install_root\Python27_x64\lib\site-packages\cx_Freeze\freezer.py", line 318, in _GetModuleFinder
    argsSource.copyDependentFiles, compress = argsSource.compress)
  File "D:\tmp\dev_install_root\Python27_x64\lib\site-packages\cx_Freeze\finder.py", line 54, in __init__
    self._AddBaseModules()
  File "D:\tmp\dev_install_root\Python27_x64\lib\site-packages\cx_Freeze\finder.py", line 69, in _AddBaseModules
    self.IncludeModule("traceback")
  File "D:\tmp\dev_install_root\Python27_x64\lib\site-packages\cx_Freeze\finder.py", line 526, in IncludeModule
    namespace = namespace)
  File "D:\tmp\dev_install_root\Python27_x64\lib\site-packages\cx_Freeze\finder.py", line 274, in _ImportModule
    raise ImportError("No module named %r" % name)
ImportError: No module named 'traceback'

D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\cx_Freeze>

7.改为:

#!/usr/bin/python
# -*- coding: utf-8 -*-
#-------------------------------------------------------------------------------
# Name:        【记录】用cx_Freeze把Python代码打包成单个独立的exe可执行文件
# Purpose:      http://www.crifan.com/use_cx_freeze_to_package_python_to_single_executable_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",
        #"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 = "..\BlogsToWordpress";
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.py", base=base)])

效果是:问题依旧。

8.去查了下,果然还真有traceback模块:

traceback — Print or retrieve a stack traceback

但是是内置的标准模块,所以无法额外安装。

但是结果此处却找不到,说明本身此处,就没有正确识别python啊。。

9.手动再导入一下试试:

#!/usr/bin/python
# -*- coding: utf-8 -*-
#-------------------------------------------------------------------------------
# Name:        【记录】用cx_Freeze把Python代码打包成单个独立的exe可执行文件
# Purpose:      http://www.crifan.com/use_cx_freeze_to_package_python_to_single_executable_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)])

结果是,问题依旧。

10.参考:

https://bitbucket.org/anthony_tuininga/cx_freeze/src/8913025af703/samples/simple/setup.py?at=default

中的简单例子,去删掉复杂的配置,变成:

#!/usr/bin/python
# -*- coding: utf-8 -*-
#-------------------------------------------------------------------------------
# Name:        【记录】用cx_Freeze把Python代码打包成单个独立的exe可执行文件
# Purpose:      http://www.crifan.com/use_cx_freeze_to_package_python_to_single_executable_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")])

结果是,竟然就可以正常运行了:

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__
? BlogDiandian imported from blogstowordpress__main__
? BlogNetease imported from blogstowordpress__main__
? BlogQQ imported from blogstowordpress__main__
? BlogRenren imported from blogstowordpress__main__
? BlogSina imported from blogstowordpress__main__
? BlogSohu imported from blogstowordpress__main__
? BlogTianya imported from blogstowordpress__main__
? crifanLib imported from blogstowordpress__main__

copying D:\tmp\dev_install_root\Python27_x64\DLLs\_hashlib.pyd -> build\exe.win-amd64-2.7\_hashlib.pyd
copying D:\tmp\dev_install_root\Python27_x64\DLLs\_socket.pyd -> build\exe.win-amd64-2.7\_socket.pyd
copying D:\tmp\dev_install_root\Python27_x64\DLLs\_ssl.pyd -> build\exe.win-amd64-2.7\_ssl.pyd
copying D:\tmp\dev_install_root\Python27_x64\DLLs\bz2.pyd -> build\exe.win-amd64-2.7\bz2.pyd
copying D:\tmp\dev_install_root\Python27_x64\DLLs\pyexpat.pyd -> build\exe.win-amd64-2.7\pyexpat.pyd
copying C:\Windows\system32\pywintypes27.dll -> build\exe.win-amd64-2.7\pywintypes27.dll
copying D:\tmp\dev_install_root\Python27_x64\DLLs\unicodedata.pyd -> build\exe.win-amd64-2.7\unicodedata.pyd
copying D:\tmp\dev_install_root\Python27_x64\lib\site-packages\win32\win32api.pyd -> build\exe.win-amd64-2.7\win32api.pyd
copying D:\tmp\dev_install_root\Python27_x64\lib\site-packages\win32\win32pipe.pyd -> build\exe.win-amd64-2.7\win32pipe.pyd
installing to build\bdist.win-amd64\msi
running install_exe
creating build\bdist.win-amd64
creating build\bdist.win-amd64\msi
copying build\exe.win-amd64-2.7\BlogsToWordpress.exe -> build\bdist.win-amd64\msi
copying build\exe.win-amd64-2.7\bz2.pyd -> build\bdist.win-amd64\msi
copying build\exe.win-amd64-2.7\library.zip -> build\bdist.win-amd64\msi
copying build\exe.win-amd64-2.7\pyexpat.pyd -> build\bdist.win-amd64\msi
copying build\exe.win-amd64-2.7\python27.dll -> build\bdist.win-amd64\msi
copying build\exe.win-amd64-2.7\pywintypes27.dll -> build\bdist.win-amd64\msi
copying build\exe.win-amd64-2.7\unicodedata.pyd -> build\bdist.win-amd64\msi
copying build\exe.win-amd64-2.7\win32api.pyd -> build\bdist.win-amd64\msi
copying build\exe.win-amd64-2.7\win32pipe.pyd -> build\bdist.win-amd64\msi
copying build\exe.win-amd64-2.7\_hashlib.pyd -> build\bdist.win-amd64\msi
copying build\exe.win-amd64-2.7\_socket.pyd -> build\bdist.win-amd64\msi
copying build\exe.win-amd64-2.7\_ssl.pyd -> build\bdist.win-amd64\msi
creating dist
removing 'build\bdist.win-amd64\msi' (and everything under it)

D:\tmp\tmp_dev_root\python\tutorial_summary\make_exe\cx_Freeze>

次奥!!!

 

【总结】

当使用cx_Freeze去打包exe出错

ImportError: No module named ‘traceback’

时,使用最简单的:

#!/usr/bin/python
# -*- coding: utf-8 -*-
#-------------------------------------------------------------------------------
# Name:        【记录】用cx_Freeze把Python代码打包成单个独立的exe可执行文件
# Purpose:      http://www.crifan.com/use_cx_freeze_to_package_python_to_single_executable_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")])

然后执行:

setup.py bdist_msi

就正常了。。。

 

错误的根本原因,暂时未搞懂。



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量