5

私はPython(pyodbcおよびtkinter)でプログラムを作成しました。以前pyodbcはMicrosoftAccessデータベースに接続していました。

接続コードがあります:

import pyodbc

# Microsoft Access Database File
DBfile = 'GDP.mdb'
conn = pyodbc.connect('DRIVER={Microsoft Access Driver (*.mdb)};DBQ='+DBfile)

コマンドプロンプト(python myprogram.py)でコンパイルする前に起動すると、非常にうまく機能します。すべてをうまくコンパイルするとpyinstaller、エラーは報告されません。

しかし、executablを起動しようとすると、メインウィンドウが2秒間表示され、その後消えます。

-dフラグを使用しpyinstallerてデバッグモードをオンにすると、実行可能ファイルを起動したときに次のエラーが表示されます。

Traceback (most recent call last):
File "<string>", line 62, in <module>
  pyodbc.Error: (
     'HY000', "[HY000] [Microsoft][Driver ODBC Microsoft Access]
     Can't find File'(Unknown)'. 
     (-1811) (SQLDriverConnect); [HY000] [Microsoft][Driver ODBC Microsoft Access]
     Can't find File'(Unknown)'.
     (-1811)")
RC: -1 from main


最初のエラーを編集
して、新しいエラーを取得しました:

Traceback (most recent call last):
    File "", line 78, in 
File "path\to\my\program\ build\pyi.win32\GDP\outPYZ1.pyz/Tkinter", line 1564, in wm_iconbitmap
_tkinter.TclError: bitmap "icon.ico' not defined
RC: -1 from main
4

1 に答える 1

5

ローカルファイルではなく、絶対ファイル名を使用する必要があります。

import os

try:
    currdir = os.path.dirname(os.path.abspath(__file__))
except NameError:  # We are the main py2exe script, not a module
    import sys
    currdir = os.path.dirname(os.path.abspath(sys.argv[0]))
DBfile = os.path.join(currdir, 'GDP.mdb')
于 2012-09-20T14:55:38.007 に答える