2

データベースと対話する小さな Python スクリプトを作成しました。スクリプト ファイル自体を送信するのではなく、スクリプト ファイルの exe ファイルを作成してエンド ユーザーに送信したいと考えていました。pytoexe を使用して exe ファイルを作成しています。

これは私のsetup.pyファイルが今どのように見えるかです

from distutils.core import setup
import py2exe
setup(
    console=["Test.py"],
    zipfile = None,
    data_files=[("",
                 ["config.xml"]),
                ],
    name='Test',
    version='1.0.0',
    url='',
    license='',
    author='test user',
    author_email='',
    description='',
    #package_dir = {'': 'Lib'},
    py_modules =['pyodbc']
    #packages = ['pyodbc']
)

次のコマンドラインを使用してスクリプトを実行します

python setup.py py2exe --bundle 2

exe の作成中に、py2exe はこのメッセージを表示します

次のモジュールが欠落しているようです ['ElementC14N', 'pyodbc']

ただし、exeが生成されます。今、このexeを実行するたびに、このメッセージが表示されます

トレースバック (最新の最後の呼び出し): ImportError のファイル "Test.py"、4 行目: pyodbc という名前のモジュールはありません

スクリプトを実行すると、スクリプトは正常に実行されます。exeを作成すると、exeが機能せず、このメッセージが表示されるだけです。

助けていただければ幸いです。

注:スクリプトファイルに次のインポートがあります

  1. xml.etree.ElementTree を ET としてインポート
  2. pyodbc をインポート

py2exe の生成中に存在する他のエラー ["ElementC14N"] は exe です。設定を読み取っている xml ファイルが原因だと思います。その問題を解決するための助けも称賛に値します。

ありがとう

4

1 に答える 1

2

皆さん、ありがとうございました ....

これは私がやったことであり、それは私のために働き始めました

options = {"py2exe":{"packages":"encodings",
                     "includes":["pyodbc",
                                 "datetime", "decimal"],
                     "bundle_files":2,
                     "optimize":2},},
于 2012-11-21T03:11:54.300 に答える