2010-09-29 66 views
3

我克隆了节点git repo,但节点附带的“waf”构建工具似乎无法与最新版本的Python一起使用。无法在OS X上配置node.js进行make install(Snow Leopard)

$ ./configure 
Traceback (most recent call last): 
    File "/Users/greim/nodestuff/node/tools/waf-light", line 157, in <module> 
    import Scripting 
    File "/Users/greim/nodestuff/node/tools/wafadmin/Scripting.py", line 146 
    except Utils.WafError, e: 
         ^
SyntaxError: invalid syntax 
$ which python 
/Library/Frameworks/Python.framework/Versions/3.0/bin/python 

如果我明白了,那个逗号是一种过时的语法,它不适用于Python 3,对不对?

我宁愿不安装旧版本的Python只是为了做到这一点。理想情况下,我希望能够构建和安装最新版本,而不是依赖其他人分发.dmg文件。

岩石和硬的地方?建议?


[更新]好的,谢谢所有帮助回答这个问题的人。希望其他人可以在Google上找到它。事实证明,我的系统上有Python 2.x(它在OS X上默认安装),位于/ usr/bin下。所以解决方案是更新我的路径(不是永久的,只是为了这个bash会话)。

$ export PATH=/usr/bin:$PATH 
$ ./configure 
$ make 
$ make install 

田田!节点安装在我的系统上。

回答

3

the waf project page说在Python 2.3到3.1

保持兼容性(和Jython 2.5)

我认为它目前运行拆包时这样2to3.py做这个,如果你已经用完首先用python2,那么它可能是错误的。我认为waf1.6分支是python3 clean

node.js code节点的人扩展waf - 这不是你打算如何使用waf。这个想法是在源代码中放入waf二进制文件 - 这将使用正确版本的python进行扩展

OSX确实有python 2,所以运行构建的一种方式可能是编辑根makefile并替换第一行

WAF=python tools/waf-light 

通过

WAF=/usr/bin/python tools/waf-light 
+0

嗯,我输入/用户/斌/ Python的我的终端上,并通过天哪,有蟒蛇2.6.1。谁知道。 (显然你做到了。)谢谢。 – greim 2010-09-30 16:23:36

+0

是的,所以解决这个问题是更新我的PATH的一个简单问题,以便/ user/bin是第一个。 – greim 2010-09-30 16:29:20

+0

您可能会将此报告为节点的错误 – Mark 2010-09-30 19:20:13

相关问题