cx_freeze error with pyodbc python 3.4



这与pyodbc的cx_freeze错误几乎完全相同,只是添加小数作为特定的include不起作用:冻结可以,但当尝试运行可执行文件时,我得到:

Traceback (most recent call last):
  File "C:Python34libsite-packagescx_FreezeinitscriptsConsole.py", line 27
, in <module>
    exec(code, m.__dict__)
  File "my_program.py", line 9, in <module>
  File "c:python32-bit3.4libimportlib_bootstrap.py", line 2214, in _find_a
nd_load
  File "c:python32-bit3.4libimportlib_bootstrap.py", line 2203, in _find_a
nd_load_unlocked
  File "c:python32-bit3.4libimportlib_bootstrap.py", line 1191, in _load_u
nlocked
  File "c:python32-bit3.4libimportlib_bootstrap.py", line 1161, in _load_b
ackward_compatible
  File "c:python32-bit3.4libimportlib_bootstrap.py", line 539, in _check_n
ame_wrapper
  File "c:python32-bit3.4libimportlib_bootstrap.py", line 1692, in load_mo
dule
  File "c:python32-bit3.4libimportlib_bootstrap.py", line 321, in _call_wi
th_frames_removed
RuntimeError: Unable to import decimal

当我将decimal添加为includes时,我看到_decimal.pyd包含在输出文件夹中,但仍然会得到相同的运行时错误。

这是我的设置.py:

import sys
from cx_Freeze import setup, Executable

build_exe_options = {
        'includes': ['decimal'],
        'include_files': ['connection settings.cfg']
        }
setup(name = 'my_program', 
      version = '0.0.1', 
      description = """This program does stuff.""", 
      options = {'build_exe':build_exe_options},
      executables = [Executable('my_program.py')]
      )

我正在使用:

  • Windows 7
  • Python 3.4,32位
  • cx冻结4.3.3
  • pyodbc 3.0.7

更新:以下是构建时的输出:

C:Usersmy_nameDocumentsPython>python my_program.py build
running build
running build_exe
creating directory buildexe.win32-3.4
copying C:Python34libsite-packagescx_FreezebasesConsole.exe -> buildexe.w
in32-3.4my_program.exe
copying C:Windowssystem32python34.dll -> buildexe.win32-3.4python34.dll
*** WARNING *** unable to create version resource
install pywin32 extensions first
writing zip file buildexe.win32-3.4library.zip
  Name                      File
  ----                      ----
m BUILD_CONSTANTS
m ConfigParser              C:Python34libConfigParser.py
m __future__                C:Python34lib__future__.py
m _ast
m _bisect
m _bootlocale
m _bz2                      C:Python34DLLs_bz2.pyd
m _codecs
m _codecs_cn
m _codecs_hk
m _codecs_iso2022
m _codecs_jp
m _codecs_kr
m _codecs_tw
m _collections
m _collections_abc
m _datetime
m _decimal                  C:Python34DLLs_decimal.pyd
m _dummy_thread
m _functools
m _hashlib                  C:Python34DLLs_hashlib.pyd
m _heapq
m _imp
m _io
m _locale
m _lzma                     C:Python34DLLs_lzma.pyd
m _md5
m _multibytecodec
m _opcode
m _operator
m _osx_support              C:Python34lib_osx_support.py
m _random
m _sha1
m _sha256
m _sha512
m _socket                   C:Python34DLLs_socket.pyd
m _sre
m _ssl                      C:Python34DLLs_ssl.pyd
m _stat
m _string
m _strptime
m _struct
m _thread
m _threading_local
m _warnings
m _weakref
m _weakrefset
m _winapi
m abc
m argparse
m array
m ast                       C:Python34libast.py
m atexit
m base64
m bdb                       C:Python34libbdb.py
m binascii
m bisect                    C:Python34libbisect.py
m builtins
m bz2
m calendar
m cmd                       C:Python34libcmd.py
m code                      C:Python34libcode.py
m codecs
m codeop                    C:Python34libcodeop.py
P collections
m collections.abc
m configparser              C:Python34libconfigparser.py
m contextlib
m copy
m copyreg
m cx_Freeze__init__         C:Python34libsite-packagescx_Freezeinitscripts
Console.py
m datetime
m decimal                   C:Python34libdecimal.py
m difflib                   C:Python34libdifflib.py
m dis                       C:Python34libdis.py
P distutils                 C:Python34libdistutils__init__.py
m distutils.debug           C:Python34libdistutilsdebug.py
m distutils.errors          C:Python34libdistutilserrors.py
m distutils.log             C:Python34libdistutilslog.py
m distutils.spawn           C:Python34libdistutilsspawn.py
m distutils.sysconfig       C:Python34libdistutilssysconfig.py
m distutils.text_file       C:Python34libdistutilstext_file.py
m doctest                   C:Python34libdoctest.py
m dummy_threading
P email                     C:Python34libemail__init__.py
m email._encoded_words      C:Python34libemail_encoded_words.py
m email._header_value_parser C:Python34libemail_header_value_parser.py
m email._parseaddr          C:Python34libemail_parseaddr.py
m email._policybase         C:Python34libemail_policybase.py
m email.base64mime          C:Python34libemailbase64mime.py
m email.charset             C:Python34libemailcharset.py
m email.contentmanager      C:Python34libemailcontentmanager.py
m email.encoders            C:Python34libemailencoders.py
m email.errors              C:Python34libemailerrors.py
m email.feedparser          C:Python34libemailfeedparser.py
m email.generator           C:Python34libemailgenerator.py
m email.header              C:Python34libemailheader.py
m email.headerregistry      C:Python34libemailheaderregistry.py
m email.iterators           C:Python34libemailiterators.py
m email.message             C:Python34libemailmessage.py
m email.parser              C:Python34libemailparser.py
m email.policy              C:Python34libemailpolicy.py
m email.quoprimime          C:Python34libemailquoprimime.py
m email.utils               C:Python34libemailutils.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.cp1125
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.cp273
m encodings.cp424
m encodings.cp437
m encodings.cp500
m encodings.cp65001
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.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 enum                      C:Python34libenum.py
m errno
m fnmatch                   C:Python34libfnmatch.py
m ftplib                    C:Python34libftplib.py
m functools
m gc
m genericpath
m getopt                    C:Python34libgetopt.py
m getpass                   C:Python34libgetpass.py
m gettext
m glob                      C:Python34libglob.py
m gzip                      C:Python34libgzip.py
m hashlib                   C:Python34libhashlib.py
m heapq
P html                      C:Python34libhtml__init__.py
m html.entities             C:Python34libhtmlentities.py
P http                      C:Python34libhttp__init__.py
m http.client               C:Python34libhttpclient.py
m http.cookiejar            C:Python34libhttpcookiejar.py
m http.server               C:Python34libhttpserver.py
m imp                       C:Python34libimp.py
P importlib                 C:Python34libimportlib__init__.py
P importlib                 C:Python34libimportlib__init__.py
m importlib._bootstrap
m importlib._bootstrap      C:Python34libimportlib_bootstrap.py
m importlib.machinery       C:Python34libimportlibmachinery.py
m importlib.util            C:Python34libimportlibutil.py
m inspect                   C:Python34libinspect.py
m io
m itertools
m keyword
m linecache
m locale
P logging                   C:Python34liblogging__init__.py
m lzma                      C:Python34liblzma.py
m my_program__main__   my_program.py
m marshal
m math
m mimetypes                 C:UserscleeDocumentsPythonmimetypes.py
m msvcrt
m nt
m ntpath
m nturl2path                C:Python34libnturl2path.py
m numbers                   C:Python34libnumbers.py
m opcode                    C:Python34libopcode.py
m operator
m optparse
m os
m pdb                       C:Python34libpdb.py
m pkgutil                   C:Python34libpkgutil.py
m platform                  C:Python34libplatform.py
m plistlib                  C:Python34libplistlib.py
m posixpath
m pprint                    C:Python34libpprint.py
m py_compile                C:Python34libpy_compile.py
m pydoc                     C:Python34libpydoc.py
P pydoc_data                C:Python34libpydoc_data__init__.py
m pydoc_data.topics         C:Python34libpydoc_datatopics.py
m pyexpat                   C:Python34DLLspyexpat.pyd
m pyodbc                    C:Python34libsite-packagespyodbc-3.0.7-py3.4-win
32.eggpyodbc.pyd
m quopri
m random                    C:Python34librandom.py
m re
m reprlib
m select                    C:Python34DLLsselect.pyd
m selectors                 C:Python34libselectors.py
m shlex                     C:Python34libshlex.py
m shutil                    C:Python34libshutil.py
m signal
m socket                    C:Python34libsocket.py
m socketserver              C:Python34libsocketserver.py
m sre_compile
m sre_constants
m sre_parse
m ssl                       C:Python34libssl.py
m stat
m string
m stringprep
m struct
m subprocess                C:Python34libsubprocess.py
m sys
m tarfile                   C:Python34libtarfile.py
m tempfile                  C:Python34libtempfile.py
m textwrap
m threading
m time
m token
m tokenize
m traceback
m tty                       C:Python34libtty.py
m types
m unicodedata               C:Python34DLLsunicodedata.pyd
P unittest                  C:Python34libunittest__init__.py
m unittest.case             C:Python34libunittestcase.py
m unittest.loader           C:Python34libunittestloader.py
m unittest.main             C:Python34libunittestmain.py
m unittest.result           C:Python34libunittestresult.py
m unittest.runner           C:Python34libunittestrunner.py
m unittest.signals          C:Python34libunittestsignals.py
m unittest.suite            C:Python34libunittestsuite.py
m unittest.util             C:Python34libunittestutil.py
P urllib                    C:Python34liburllib__init__.py
m urllib.error              C:Python34liburlliberror.py
m urllib.parse              C:Python34liburllibparse.py
m urllib.request            C:Python34liburllibrequest.py
m urllib.response           C:Python34liburllibresponse.py
m uu                        C:Python34libuu.py
m warnings
m weakref
m webbrowser                C:Python34libwebbrowser.py
m winreg
P xml                       C:Python34libxml__init__.py
P xml.dom                   C:Python34libxmldom__init__.py
m xml.dom.NodeFilter        C:Python34libxmldomNodeFilter.py
m xml.dom.domreg            C:Python34libxmldomdomreg.py
m xml.dom.expatbuilder      C:Python34libxmldomexpatbuilder.py
m xml.dom.minicompat        C:Python34libxmldomminicompat.py
m xml.dom.minidom           C:Python34libxmldomminidom.py
m xml.dom.pulldom           C:Python34libxmldompulldom.py
m xml.dom.xmlbuilder        C:Python34libxmldomxmlbuilder.py
P xml.parsers               C:Python34libxmlparsers__init__.py
m xml.parsers.expat         C:Python34libxmlparsersexpat.py
P xml.sax                   C:Python34libxmlsax__init__.py
m xml.sax._exceptions       C:Python34libxmlsax_exceptions.py
m xml.sax.expatreader       C:Python34libxmlsaxexpatreader.py
m xml.sax.handler           C:Python34libxmlsaxhandler.py
m xml.sax.saxutils          C:Python34libxmlsaxsaxutils.py
m xml.sax.xmlreader         C:Python34libxmlsaxxmlreader.py
m zipfile                   C:Python34libzipfile.py
m zipimport
m zlib
Missing modules:
? __main__ imported from bdb, pdb
? _dummy_threading imported from dummy_threading
? _posixsubprocess imported from subprocess
? _scproxy imported from urllib.request
? ce imported from os
? grp imported from shutil, tarfile
? java.lang imported from platform, xml.sax._exceptions
? org.python.core imported from copy, xml.sax
? os.path imported from os, pkgutil, py_compile, shutil, unittest.util
? posix imported from os
? pwd imported from getpass, http.server, posixpath, shutil, tarfile, webbrowser
? termios imported from getpass, tty
? vms_lib imported from platform
? win32api imported from platform
? win32con imported from platform
This is not necessarily a problem - the modules may not be needed on this platfo
rm.
C:Python34libsite-packagescx_Freezefreezer.py:574: UserWarning: Duplicate n
ame: 'importlib/__init__.pyc'
  outFile.writestr(zinfo, data)
copying C:Python34DLLs_bz2.pyd -> buildexe.win32-3.4_bz2.pyd
copying C:Python34DLLs_decimal.pyd -> buildexe.win32-3.4_decimal.pyd
copying C:Python34DLLs_hashlib.pyd -> buildexe.win32-3.4_hashlib.pyd
copying C:Python34DLLs_lzma.pyd -> buildexe.win32-3.4_lzma.pyd
copying C:Python34DLLs_socket.pyd -> buildexe.win32-3.4_socket.pyd
copying C:Python34DLLs_ssl.pyd -> buildexe.win32-3.4_ssl.pyd
copying C:Python34DLLspyexpat.pyd -> buildexe.win32-3.4pyexpat.pyd
copying C:Python34libsite-packagespyodbc-3.0.7-py3.4-win32.eggpyodbc.pyd ->
 buildexe.win32-3.4pyodbc.pyd
copying C:Python34DLLsselect.pyd -> buildexe.win32-3.4select.pyd
copying C:Python34DLLsunicodedata.pyd -> buildexe.win32-3.4unicodedata.pyd
copying connection settings.cfg -> buildexe.win32-3.4connection settings.cfg

我在一个非常相似的设置中遇到了同样的问题,唯一能让它工作的方法是将import decimal添加到我的python脚本中,尝试将import decimal添加至my_program.py

最新更新