Python 2.7で記述されたプログラムからexeファイルを作成しようとしています(GTK +レイアウトを使用)。私はこのガイドを参照しました:http ://www.py2exe.org/index.cgi/Py2exeAndPyGTKそしてそれに応じてファイルを設定しようとしました。.exeファイルを正常に作成しましたが、実行しようとすると、次のエラーが発生します。
Traceback (most recent call last):
File "cipherka.py", line 183, in <module>
File "cipherka.py", line 18, in __init__
GError: Nelze otevřít soubor "C:\Repa\cipherka\dist\library.zip\gui.xml": No such file or directory
library.zipアーカイブにgui.xmlファイルが見つかりませんが、メインの.exe(cipherka.exe)ファイルと同じレベルで利用できます。自分で.zipファイルにコピーしても、問題は解決しません。
これが私のsetup.pyファイルです:
from distutils.core import setup
import py2exe
import glob
setup(
name="cipherka",
windows = [
{
'script': 'cipherka.py',
}
],
options = {
'py2exe': {
'packages':'encodings',
'includes': 'cairo, pango, pangocairo, atk, gobject, gio',
}
},
data_files=['gui.xml',
'README',
("modules", glob.glob("modules/*.*")),
("media", glob.glob("media/*.png"))
]
)
どんな助けでも大歓迎です!そして、必要に応じて必要な情報を提供することができます。どうも
アップデート:
了解しました。変更を実装しました。しかし、それは奇妙なことをします。私が使用するとき:
path = os.path.dirname(__file__).replace('\\library.zip','')
.pyファイルから実行すると機能しますが、次のエラーでコンパイルすると失敗します。
Traceback (most recent call last):
File "cipherka.py", line 217, in <module>
File "cipherka.py", line 18, in __init__
NameError: global name '__file__' is not defined
使うとき
path = os.path.dirname('gui.xml').replace('\\library.zip','')
代わりに-プログラムはPythonからの実行を停止し、コンパイルされたバージョンは私に次のようになります:
C:\Repa\cipherka\dist\cipherka.exe:188: GtkWarning: gtk_tree_path_append_index: assertion `index >= 0' failed
C:\Repa\cipherka\dist\cipherka.exe:188: GtkWarning: gtk_tree_model_get_iter: assertion `path->depth > 0' failed
Traceback (most recent call last):
File "cipherka.py", line 217, in <module>
File "cipherka.py", line 55, in __init__
File "cipherka.py", line 188, in changed_cb
IndexError: could not find tree path
何か案は?