簡體   English   中英

為什么/ usr / local / bin在我的C ++程序中無法識別?

[英]Why /usr/local/bin is not recognisable in my C++ program?

我的C ++代碼:

int main(int argc, const char * argv[])
{
    system("python test.py");
    return 0;
}

我在/ usr / local / bin中有一個程序foo ,我可以在Unix控制台中輸入foo然后啟動它。

以下Python腳本(test.py)有效:

from subprocess import call
call(["/usr/local/bin/foo"])

這個沒有(帶有“未找到命令”錯誤):

from subprocess import call
call(["foo"])

為什么我的Python腳本在從C ++執行時無法直接調用程序?

編輯:

我在Mac OSX上。 我懷疑這與C ++可執行文件中沒有添加的文件夾/usr/local/bin有關。

編輯:

 which kallisto
 /usr/local/bin/kallisto

cat test.py

from subprocess import call
call(["kallisto"])

python test.py

kallisto 0.43.0

In my C++ run:

Traceback (most recent call last):
  File "/Users/tedwong/Sources/QA/test.py", line 2, in <module>
    call(["kallisto"])
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 522, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1335, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory 

感謝@ ilent2,他的回答解決了我的問題。 我使用IDE來運行C ++代碼,但從未意識到我必須告訴IDE我的路徑。 當我直接在控制台中運行相同的程序時,它工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM