2012-04-01 53 views
1

我想從this link建立adblockplus。當我發出命令:錯誤信息當我嘗試adblocker生成

python build.py build 

我最終得到以下錯誤信息。我試着用和不用sudo都無濟於事。

Traceback (most recent call last): 
    File "build.py", line 10, in <module> 
    buildtools.build.processArgs('.', sys.argv) 
    File "/home/machine/projects/weird/buildtools/build.py", line 352, in processArgs 
    commands[command](baseDir, scriptName, opts, args, type) 
    File "/home/machine/projects/weird/buildtools/build.py", line 39, in __call__ 
    return self._handler(baseDir, scriptName, opts, args, type) 
    File "/home/machine/projects/weird/buildtools/build.py", line 166, in runBuild 
    limitMetadata=limitMetadata) 
    File "/home/machine/projects/weird/buildtools/packager.py", line 274, in createBuild 
    buildNum = getBuildNum(baseDir) 
    File "/home/machine/projects/weird/buildtools/packager.py", line 80, in getBuildNum 
    (result, dummy) = subprocess.Popen(['hg', 'id', '-n'], stdout=subprocess.PIPE).communicate() 
    File "/usr/lib/python2.6/subprocess.py", line 623, in __init__ 
    errread, errwrite) 
    File "/usr/lib/python2.6/subprocess.py", line 1141, in _execute_child 
    raise child_exception 
OSError: [Errno 2] No such file or directory 

我是否缺少包?任何暗示什麼問題可能會非常感激。

回答

4

堆棧跟蹤清楚地表明,這個問題是由以下行造成的:

(result, dummy) = subprocess.Popen(['hg', 'id', '-n'], stdout=subprocess.PIPE).communicate() 

如果你看看subprocess package documentation,該行正試圖運行hg id -n命令(得到的數值水銀修訂)。顯然,Mercurial命令行工具不存在於您的系統上(這種構建腳本可能不考慮),因此失敗。

免責聲明:我碰巧是現在寫這個腳本和我fixed this bug的人。 Mercurial對於構建而言並不是必不可少的,修訂號幾乎只用於確定輸出文件名。

+1

弗拉基米爾,謝謝,這讓我回到正在處理的被遺忘項目的軌道上。我會再試一次。 – sm535 2012-09-07 14:06:44

相關問題