0

私はcx_freezeしようとしているかなり重いpythonスクリプトを持っていますが、実行可能ファイルを実行すると同じエラーが発生し続け、docxモジュールに関連しているようです.

Windows 8.1 マシンで Python 3.3.5 と docx 0.7.6-py33 を使用しています。

これは私のセットアップスクリプトです。

from cx_Freeze import setup, Executable

includefiles = ['logo.ico','db.db','dbloc.bin']
includes = []
excludes = []
packages = ['tkinter','docx','sys', 'sqlite3', 'os', 'hashlib', 'random', 'uuid', 'base64', 'tempfile', 'win32api',
            'winreg', 'ntplib', 'winsound', 'time', 'csv', 'webbrowser', 'inspect','datetime', 'decimal', 'ctypes',
            'win32com.client','operator']

exe = Executable(
# what to build
   script = "NEPOS.py",
   initScript = None,
   base = 'Win32GUI',
   targetName = "Nepos.exe",
   copyDependentFiles = True,
   compress = True,
   appendScriptToExe = True,
   appendScriptToLibrary = True,
   icon = 'Icon.ico'
)

setup(
    name = "MyProgram",
    version = "1.0.0",
    description = 'Description',
    author = "Joe Bloggs",
    author_email = "123@gmail.com",
    options = {"build_exe": {"excludes":excludes,"packages":packages,
      "include_files":includefiles}},
    executables = [exe]
)

これは私が得ているエラーです。

ここに画像の説明を入力

docx に属するメソッドを見つけるのに問題があるようですが、ソース コードが呼び出しimport docx、セットアップ ファイルに依存モジュールとしてリストされているため、それらが含まれていない理由がわかりません。

4

1 に答える 1

2

多くのことをいじった後、私はついにこれを解読しました。docxモジュールは に依存していますlxml。raw.pyファイルはdocxインポートしただけで問題なく動作しますが、cx_freezing の場合lxml、パッケージに追加して依存関係を明示的に指定する必要があります。

于 2015-05-30T11:02:45.013 に答える