我克隆了 Node git repo,但 Node 附带的“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 文件。
岩石和坚硬的地方?建议?
[更新]好的,感谢所有帮助回答这个问题的人。希望其他人能在谷歌上找到这个。事实证明,我的系统上确实有 Python 2.x(它默认安装在 OS X 上),位于 /usr/bin 下。所以解决方案是更新我的路径(不是永久的,只是为了这一次 bash 会话)。
$ export PATH=/usr/bin:$PATH
$ ./configure
$ make
$ make install
田田!节点已安装在我的系统上。
IWAF 项目页面 http://code.google.com/p/waf/ says
保持了从 Python 2.3 到 3.1 的兼容性(以及 Jython 2.5)
我认为它目前通过在解包时运行 2to3.py 来实现这一点,因此如果您首先使用 python2 运行那么它可能是错误的。我认为waf1.6分支是python3 clean
正在阅读节点.js 代码 http://github.com/ry/node/tree/master//tools/节点人员扩展了 WAF - 这不是您使用 WAF 的方式。这个想法是将 waf 二进制文件放入源代码中 - 这将使用正确版本的 python 进行扩展
OSX 确实有 python 2,因此运行构建的一种方法可能是编辑根 makefile 并替换第一行
WAF=python tools/waf-light
by
WAF=/usr/bin/python tools/waf-light
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)