1

这是我第一次使用 pyinstaller。我的目标是在 Mac Mountain Lion 中构建一个 .app。该应用程序基本上是一个用 PySide 编写的 GUI,我有大约 7 个不同的 Python 脚本 + 1 个 .png 文件。主文件调用其中的4个文件,4个文件会重复调用剩下的2个文件。.png 文件不过是窗口徽标。有人可以帮我做一些诊断吗?我不知道出了什么问题。我在网上搜索了很多文档,即更改规范、添加导入等,但我的应用程序仍然无法运行。

仅供参考,Pyinstaller 可以为我生成一个应用程序,但有两个问题:

  1. 应用程序的图标未更改。
  2. 应用程序打开时崩溃。

我的 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.objectspandas.rpy.common不见了。

4

1 回答 1

0

你可以从你的 python 控制台导入 pandas.io.sql 吗?这些导入是否在主文件中?如果没有尝试这样做

于 2014-01-16T15:11:11.557 回答