使用虚拟环境时,py2app没有将Python.framework复制到新应用程序中

10

环境:MacOS X 10.7.2,系统安装的Python版本为2.7.1,虚拟环境版本为1.7.2,已安装pyobjc 2.3和py2app 0.6.4+。

我创建了一个新的virtualenv,并安装了pyobc 2.3和py2app。当我运行python setup.py py2app创建一个应用程序(例如在py2app/examples/simple中),一切似乎都编译成功并且确实生成了一个可双击的应用程序,但是在点击该应用程序后,我会得到以下错误:

A Python runtime not could be located.  You may need to install a framework build of Python, or edit the PyRuntimeLocations array in this application's Info.plist file.

然而,如果我在Lion的标准安装中按照相同的过程进行操作,则应用程序可以正常运行并符合预期。

有没有建议可以让 virtualenv 和 py2app 之间能够良好协作呢?

谢谢!

1个回答

12

py2app 不会将系统自带的 Python 复制到生成的应用程序包中。如果你想要创建一个可以在多个版本的 OS X 上部署的独立应用程序,你需要使用 py2app 和一个单独安装的 Python,比如从 python.org 安装程序中获取。例如,请参考Py2App Can't find standard modules


谢谢你的帮助。我使用brew安装了Python 2.7,并相应地编辑了我的PATH。现在我可以构建/编译py2app/examples/simple,希望能做更多。再次感谢。 - macdhuibh
2
Ned,我已经在 pyenv 中构建了一个项目,并下载了 2.6 版本的 Python(在 pyenv 中,which python 返回 /Users/Pyderman/.pyenv/shims/python),但是我遇到了同样的问题:https://dev59.com/H5Pea4cB1Zd3GeqP-x7u - Pyderman
嗨,Ned/macdhuibh,你能告诉我你在哪里更新了路径以及你具体更新了哪个路径吗? - Saurabh Bisht

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接