py2app不包含PySide模块

时间:2012-06-02 06:36:13

标签: python pyside py2app

简单的hello world QT python脚本。从命令行工作正常。当我打包它时,我得到:

Traceback (most recent call last):
  File "/Users/jquick/bin/dist/gui.app/Contents/Resources/__boot__.py", line 340, in <module>
    _run('/Users/jquick/bin/gui.py')
  File "/Users/jquick/bin/dist/gui.app/Contents/Resources/__boot__.py", line 336, in _run
    execfile(scriptpath, globals(), globals())
  File "/Users/jquick/bin/gui.py", line 3, in <module>
    from PySide.QtCore import *
ImportError: No module named PySide.QtCore
2012-06-02 00:23:04.823 gui[4835:707] gui Error

所以听起来它不包括模块..但我尝试将它包含在setup.py和命令行中。什么都行不通:(

setup.py:

"""
This is a setup.py script generated by py2applet

Usage:
    python setup.py py2app
"""

from setuptools import setup

APP = ['gui.py']
DATA_FILES = []
OPTIONS = {'argv_emulation': True, 'includes': ['PySide.QtCore', 'PySide.QtGui']}

setup(
    app=APP,
    data_files=DATA_FILES,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
)

我尝试使用--alias选项创建并且没有。甚至尝试将它们标记为包装。但我所做的一切似乎都不包括它们。

1 个答案:

答案 0 :(得分:0)

  1. Python能找到PySide.QtCore吗?在命令行输入:

    来自PySide.QtCore import *

  2. 如果(1)有效,那么确保在命令行执行py2app时调用的Python版本与您在步骤(1)中使用的Python版本相同。某些操作系统(如Mac OS X)安装了旧版本的Python,如果您的应用程序在命令行调用时正常工作,那么请确保在尝试构建时不要调用完全不同的python版本应用程序。