python-无法配置node.js以在OS X(Snow Leopard)上进行安装

我克隆了节点git repo,但是节点随附的“ waf”构建工具似乎不适用于最新版本的Python.

$./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

多田!节点已安装在我的系统上.

解决方法:

Ithe waf project page

Compatibility from Python 2.3 to 3.1 is maintained (and 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
上一篇:SQL注入WAF绕过


下一篇:hex编码绕waf(思路)