回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我用python编写了GTK应用程序。</p>
<p>所有的图形用户界面都在glade文件中,并且使用了一些图像。我想把我的应用程序编译成可执行文件。为此,我使用了编译器和打包器。</p>
<p>我已经按照手册上说的做了:</p>
<pre><code>python Configure.py
python Makespec.py --onefile --windowed --upx /path/to/yourscript.py
python Build.py /path/to/yourscript.spec
</code></pre>
<p>PyInstaller工作得很好,创建了一个exe文件。但要使我的应用程序正常工作,我必须将<em>glade</em>和<em>image</em>文件复制到exe的文件夹中。</p>
<p><strong>有没有办法把这些文件编译成可执行文件?</strong></p>
<p>我已经用各种方式编辑了我的spec文件,但是我无法实现我想要的。下面的Spec文件只将文件复制到目录,但不编译成可执行文件</p>
<pre><code># -*- mode: python -*-
a = Analysis([os.path.join(HOMEPATH,'support\\_mountzlib.py'), os.path.join(HOMEPATH,'support\\useUnicode.py'), 'r:\\connection\\main.py'],
pathex=['C:\\Documents and Settings\\Lixas\\Desktop\\pyinstaller-1.5-rc1'])
pyz = PYZ(a.pure)
exe = EXE( pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name=os.path.join('dist', 'NetworkChecker.exe'),
debug=False,
strip=False,
upx=True,
console=False,
icon='r:\\connection\\ikona.ico' )
coll = COLLECT(
exe,
[('gui.glade', 'r:\\connection\\gui.glade', 'DATA')],
[('question16.png', 'r:\\connection\\question16.png', 'DATA')],
# a.binaries,
# strip=False,
upx=True,
name='distFinal')
</code></pre>
<p>我希望只有一个包含所有内容的可执行文件</p>