我使用以下方法克隆并构建了waf
脚本:
./waf-light configure
然后构建我的项目(由Gomspace提供)我需要将waf
和eclipse.py
添加到我的路径中。到目前为止,我还没有找到比这个setenv
脚本更好的内容:
WAFROOT=~/git/waf/
export PYTHONPATH=$WAFROOT/waflib/extras/:$PYTHONPATH
export PATH=~/git/waf/:$PATH
跟:
source setenv
这是一个非常难看的解决方案。是否有更优雅的方式来安装waf?
答案 0 :(得分:3)
你没有安装waf。您找到的命令正确构建waf:gdbus
然后,对于您创建的每个项目,将构建的/waf-light configure build
脚本放入该项目的根目录中。我找不到参考,但这是waf的主要作者Thomas Nagy想要使用该工具的方式。重新包装waf以使该工具可安装的项目不是“官方认可的”。
非安装有优点和缺点:
缺点:
waf
文件添加到存储库。优点:
答案 1 :(得分:1)
Fedora(至少是Fedora 22)具有用于waf的yum软件包,因此您可以看到有可能进行waf的系统安装,尽管有黑客。
运行python3 ./waf-light configure build
之类的文件后,您将获得一个名为waf
的文件,该文件实际上是一个Python脚本,末尾带有一些二进制数据。如果将其放入/usr/bin
并以非root用户身份运行,则会收到错误消息,因为它无法在/ usr / bin中创建目录。如果您以root用户身份运行,则将获得新目录,并且/usr/bin/waf
将正常运行。
这是我通过检查waf Python脚本中的find_lib()
函数中学到的技巧。
waf
复制到/usr/bin/waf
/usr/bin/waf
。注意,它创建了一个目录。您会看到类似/usr/bin/.waf-2.0.19-b2f63c807a4215294bf6005410c74c18
.
,例如mv /usr/bin/.waf-2.0.19-b2f63c807a4215294bf6005410c74c18 /usr/lib/waf-2.0.19-b2f63c807a4215294bf6005410c74c18
/usr/bin/waf
。在Python3下,目录名将以.waf3-
/ waf3-
开头,而不是.waf-
/ waf-
。/usr/bin/waf
的末尾删除二进制数据。/usr/bin/waf
。也就是说,这里需要考虑一些问题,就像另一个答案所说的那样:我相信waf的作者打算将waf嵌入到项目中,以便每个项目都可以使用自己的waf版本,而不必担心项目在那里会失败。是waf的较新版本。因此,似乎没有正式支持一个全球版本的用例。