2013-05-15 101 views
0

我不是Python程序員,但make腳本正在使用一些Python。在這裏我得到了這個錯誤消息,我可以看到一個堆棧跟蹤。但是如何從這裏跟蹤問題呢?瞭解Python錯誤信息並解決

/usr/bin/python2.7 ./config/pythonpath.py -I./config ./config/expandlibs_exec.py --depend .deps/libjs_static.a.pp --target libjs_static.a --extract -- /usr/local/bin/ar cr libjs_static.a bignum-dtoa.o bignum.o cached-powers.o diy-fp.o double-conversion.o fast-dtoa.o fixed-dtoa.o strtod.o jsalloc.o jsanalyze.o jsapi.o jsarray.o jsatom.o jsbool.o jsclone.o jscntxt.o jscompartment.o jsdate.o jsdbgapi.o jsdhash.o jsdtoa.o jsexn.o jsfriendapi.o jsfun.o jsgc.o jscrashreport.o jsinfer.o jsinterp.o jsiter.o jslog2.o jsmath.o jsmemorymetrics.o jsnativestack.o jsnum.o jsobj.o json.o jsonparser.o jsopcode.o jsproxy.o jsprf.o jsprobes.o jspropertycache.o jspropertytree.o jsreflect.o jsscope.o jsscript.o jsstr.o jstypedarray.o jsutil.o jswatchpoint.o jsweakmap.o jsworkers.o jswrapper.o jsxml.o prmjtime.o sharkctl.o ArgumentsObject.o ScopeObject.o Debugger.o GlobalObject.o ObjectImpl.o Stack.o String.o BytecodeCompiler.o BytecodeEmitter.o FoldConstants.o NameFunctions.o ParallelArray.o ParseMaps.o ParseNode.o Parser.o SPSProfiler.o TokenStream.o TestingFunctions.o Profilers.o LifoAlloc.o Eval.o MapObject.o RegExpObject.o RegExpStatics.o RegExp.o Marking.o Memory.o Statistics.o StoreBuffer.o StringBuffer.o Unicode.o Xdr.o ExecutableAllocator.o PageBlock.o YarrInterpreter.o YarrPattern.o YarrSyntaxChecker.o YarrCanonicalizeUCS2.o ExecutableAllocatorPosix.o OSAllocatorPosix.o jsperf.o pm_stub.o HashFunctions.o SHA1.o 
Traceback (most recent call last): 
    File "./config/pythonpath.py", line 56, in <module> 
    main(sys.argv[1:]) 
    File "./config/pythonpath.py", line 48, in main 
    execfile(script, frozenglobals) 
    File "./config/expandlibs_exec.py", line 322, in <module> 
    main() 
    File "./config/expandlibs_exec.py", line 311, in main 
    ret = subprocess.call(args) 
    File "/usr/lib/python2.7/subprocess.py", line 493, in call 
    return Popen(*popenargs, **kwargs).wait() 
    File "/usr/lib/python2.7/subprocess.py", line 679, in __init__ 
    errread, errwrite) 
    File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child 
    raise child_exception 
OSError: [Errno 2] No such file or directory 
make[1]: *** [libjs_static.a] Error 1 
make[1]: Leaving directory `/priv 
+2

我想你應該去問誰的讓腳本這是。 – Marcin

+0

python腳本正在嘗試運行外部命令,並且找不到該命令。 –

+2

元評論:請不要對每個'code-ey'單詞使用'back ticks',這會讓您的問題難以閱讀。 –

回答

1

第一步是查看源代碼; Python打印文件名和行號:File "/usr/lib/python2.7/subprocess.py", line 1249

當你看那裏,你會看到一些代碼。接下來的步驟是找出每個變量的分配位置(即誰設置了child_exception),然後執行此代碼的必要條件,直到您到達代碼與您提供的某些內容一起工作的地方(這符合以下假設: Python庫可能是正確的,你犯了一個錯誤)。

在您的具體情況下,問題很可能是args[0]包含指向不存在的文件/可執行文件的路徑。

因此,檢查其中./config/expandlibs_exec.py,線路311獲得args和裏面有什麼args[0]