这是我第一次使用 pyinstaller。我的目标是在 Mac Mountain Lion 中构建一个 .app。该应用程序基本上是一个用 PySide 编写的 GUI,我有大约 7 个不同的 Python 脚本 + 1 个 .png 文件。主文件调用其中的4个文件,4个文件会重复调用剩下的2个文件。.png 文件不过是窗口徽标。有人可以帮我做一些诊断吗?我不知道出了什么问题。我在网上搜索了很多文档,即更改规范、添加导入等,但我的应用程序仍然无法运行。
仅供参考,Pyinstaller 可以为我生成一个应用程序,但有两个问题:
- 应用程序的图标未更改。
- 应用程序打开时崩溃。
我的 Python 版本是 2.7.5,我使用的是 PyInstaller-2.0。这是我的包装代码:
python pyinstaller.py --onefile --windowed --name=MyApplication -i ~/Documents/AASource/icon.ico ~/Documents/AASource/Scripts/main_file.py
这是规范文件:
# -*- mode: python -*-
a = Analysis(['/Users/boxuancui/Documents/AASource/Scripts/main_file.py'],
pathex=['/Users/boxuancui/Documents/pyinstaller-2.0'],
hiddenimports=[],
hookspath=None)
pyz = PYZ(a.pure)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name=os.path.join('dist', 'MyApplication'),
debug=False,
strip=None,
upx=True,
console=False , icon='/Users/boxuancui/Documents/AASource/icon.ico')
app = BUNDLE(exe,
name=os.path.join('dist', 'MyApplication.app'))
这是崩溃消息的一部分:
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000000000054d8
提前致谢!任何帮助将不胜感激!
UPDATE1:我已将问题缩小到此:每当我尝试执行以下导入时,创建的应用程序都会崩溃。有谁知道为什么?
import pandas.rpy.common as com
import pandas.io.sql as psql
import rpy2.robjects as robjects
UPDATE2:我仔细研究了pandas.io.sql
. 不存在这样的模块。这就是 PyInstaller 找不到它的原因。我在哪里可以找到这个文件?同样,rpy2.objects
也pandas.rpy.common
不见了。