3

抱歉,我知道这可能是一个菜鸟问题,但我对 Python 相当熟悉,但对任何类型的分发方法都不熟悉。我正在尝试为我制作的连接到 SSH 服务器并上传一些文件的 python 程序打包/创建一个 exe。我在 Ubuntu 中开发,但我打算将它提供给使用 windows 的朋友。

好的,我们开始吧。

我正在使用模块:os、sys、platform、tkMessageBox、webbrowser、re、Tkinter、tkFileDialog 和 paramiko

在名为 App 的目录中,我有以下文件:text1.txt、text2.txt、text3.txt、app.py、script.sh 和所有模块

运行后python pyinstaller.py app.py这是我的规范文件的样子

# -*- mode: python -*-  
a = Analysis(['app.py'],  
             pathex=['C:\\Users\\Ben\\pyinstaller\\pyinstaller-2.0'],  
             hiddenimports=[],  
             hookspath=None)  
pyz = PYZ(a.pure)  
exe = EXE(pyz,  
          a.scripts,  
          exclude_binaries=1,  
          name=os.path.join('build\\pyi.win32\\app', 'app.exe'),  
          debug=False,  
          strip=None,  
          upx=True,  
          console=False )  
coll = COLLECT(exe,  
               a.binaries,  
               a.zipfiles,  
               a.datas,  
               strip=None,  
               upx=True,  
               name=os.path.join('dist', 'app'))  
app = BUNDLE(coll,  
             name=os.path.join('dist', 'app.app'))

我只是想知道如何让我的所有文件链接到 exe 中。因为它运行 gui,但没有任何功能起作用。我应该在最后压缩所有文件并分发吗?我对整个分发事务很陌生。

4

1 回答 1

1

尝试在 a.scripts, 行之后添加此行

Tree('your\\path\\here'),

我知道如果创建单个文件可执行文件它会起作用。虽然不确定其他人。确保路径是包含所有文本文件的文件夹的路径,而不是文本文件本身的路径。

于 2012-11-27T19:04:22.750 回答