0

我升级了 py2app(使用 pip)然后运行

/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/bin/py2applet --make-setup --arch=i386 test.py

但是我得到以下

Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/bin/py2applet", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/Library/Python/2.7/site-packages/pkg_resources.py", line 2797, in <module>
    parse_requirements(__requires__), Environment()
  File "/Library/Python/2.7/site-packages/pkg_resources.py", line 576, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: py2app==0.6.3

我不想使用 0.6.3 为什么它强迫我使用?

4

1 回答 1

0

看起来 py2applet shell 脚本有一个显式的退出调用来检查 py2app 版本。将其更新到最新版本似乎可以解决问题。我有两个并行安装的 python,一个是本地 OS X,一个来自 MacPorts。不知何故,更新端口后没有考虑 py2applet 脚本。我不会将这种方法推荐给其他发行版,但在 Mac 上,这在我看来是一个可行的解决方案。

#!/usr/bin/python
__requires__ = 'py2app==0.8'
import sys
from pkg_resources import load_entry_point

sys.exit(
   load_entry_point('py2app==0.8', 'console_scripts', 'py2applet')()
)

顺便说一句,你可以通过在 python shell 中导入 py2app 来找到版本号:

python
import py2app
py2app.__version__

给我:

'0.8'
于 2014-03-11T12:21:37.013 回答