2013-10-14 49 views
0

我升级py2app(使用PIP),然后跑了与PIP升级py2app breakes它

/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为什么它迫使我去?

+0

你怎么安装py2app?用点或easy_install或其他东西? –

+0

我用pip来安装它(sudo pip --upgrade py2app) – Zimm3r

+0

@ Zimm3r试试这个'sudo pip install --upgrade py2app' –

回答

0

它看起来像py2applet外壳脚本有一个显式的退出调用,检查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壳进口py2app版本号的方式:

python 
import py2app 
py2app.__version__ 

给我:

'0.8'