使用pip升级py2app会破坏它

时间:2013-10-14 06:39:48

标签: python pip

我升级了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为什么强迫我这样做?

1 个答案:

答案 0 :(得分:0)

看起来py2applet shell脚本有一个显式的exit调用来检查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'