【问题标题】:PySide application isn't working on other computers when bundled with py2app与 py2app 捆绑时,PySide 应用程序无法在其他计算机上运行
【发布时间】:2012-01-15 10:35:27
【问题描述】:

我有一个小应用程序,我正在尝试与 py2app 捆绑。起初我遇到了 PySide 在捆绑后无法正确链接的问题,但我通过在最终构建的容器中添加 sys.path.insert(0, os.path.join(os.getcwd(), 'lib', 'python2.6','lib-dynload'))__boot__.py 来解决这个问题(至少在本地)。

一旦构建,它就可以在我的计算机上正常运行。不幸的是,尝试在另一台计算机上运行它会导致:

Traceback (most recent call last):
  File "/Volumes/code/dailies/dist/Sequence Dailies.app/Contents/Resources/__boot__.py", line 32, in <module>
    _run('dailies_v04.py')
  File "/Volumes/code/dailies/dist/Sequence Dailies.app/Contents/Resources/__boot__.py", line 29, in _run
    execfile(path, globals(), globals())
  File "/Volumes/code/dailies/dist/Sequence Dailies.app/Contents/Resources/dailies_v04.py", line 9, in <module>
    from PySide.QtCore import *
  File "PySide/__init__.pyc", line 2, in <module>
  File "PySide/private.pyc", line 2, in <module>
  File "PySide/QtCore.pyc", line 18, in <module>
  File "PySide/QtCore.pyc", line 11, in __load
ImportError: dlopen(/Volumes/code/dailies/dist/Sequence Dailies.app/Contents/Resources/lib/python2.6/lib-dynload/PySide/QtCore.so, 2): Library not loaded: libpyside-python2.6.1.0.dylib
  Referenced from: /Volumes/code/dailies/dist/Sequence Dailies.app/Contents/Resources/lib/python2.6/lib-dynload/PySide/QtCore.so
  Reason: image not found

我是否在某个地方错过了正确链接 PySide 的额外步骤?这是我的(无趣)setup.py

from setuptools import setup

APP = ['dailies_v04.py']
DATA_FILES = []
OPTIONS = {'argv_emulation': False}

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

【问题讨论】:

    标签: python macos pyside py2app


    【解决方案1】:

    options,你应该添加

    'includes': 'PySide'

    如果这不起作用,有时我会发现在安装脚本顶部导入所需的模块会有所帮助。

    所以改变:

    from setuptools import setup
    

    from setuptools import setup
    import PySide
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-07
      • 2013-08-30
      • 1970-01-01
      • 2018-04-25
      相关资源
      最近更新 更多