使用cx-freeze构建PySide程序osx的奇怪错误

时间:2014-12-02 19:01:12

标签: python pyside cx-freeze

我在通过anaconda python distribution安装的运行python 2.7.8的64位mac上使用cx-freeze4.3.3。该程序非常简单如下:

import sys
from PySide.QtGui import QApplication, QDialog

app = QApplication(sys.argv)
form = QDialog()
form.show()
app.exec_()

setup.py文件是标准文件,包含以下内容:

options = {
    'build_exe': {
        'includes': 'atexit'
    }
}

executables = [
    Executable('test.py', base=base)
]

运行python setup.py build时,会发生以下错误:

复制libpython2.7.dylib - >建立/ exe.macosx-10.5-x86_64-2.7 / libpython2.7.dylib 错误:[Errno 2]没有这样的文件或目录:' libpython2.7.dylib'

这可能是什么问题? libpython2.7.dylib位于/ anaconda / lib中,它位于系统路径中。

1 个答案:

答案 0 :(得分:0)

我在OSX上的cx_freeze遇到了类似的问题,但没有找到要复制的文件。我在一些论坛找到了解决方案(再也找不到了): 在cx_freeze文件_GetDependentFiles中的函数freezer.py中添加以下行:

for i in range(len(dependentFiles)):
    filei = dependentFiles[i]
    if not os.path.isabs(filei):
        print 'TD bug fix: adding ' + sys.prefix + '/lib to relative path ' + filei + '!'
        dependentFiles[i] = os.path.join(sys.prefix,'lib',filei)

现在python setup.py build运行但是内置程序无法正常运行!!可能你会遇到同样的问题,我无法解决。所以我发布了这个问题:Failed making a standalone python/Qt application with cx_freeze (or Py2App) on Mac,我希望得到答案......