$data = escapeshellarg($data);
$resultpy = shell_exec("/usr/local/bin/python3 path/to/myscript.py 2>&1 $data");
$數據JSON對象來運行python3 3.6.1版的腳本了PHP的包含浮點數從USR/local/bin目錄執行python3了PHP的上我想在python中做一些計算。由於在Mac OS X 10.9.5上安裝後,python3沒有出現在/ usr/bin /目錄中,所以我確實爲python3設置了一個本地bin,用於跟蹤Gordon Davisson的建議Cannot create a symlink inside of /usr/bin even as sudo。我對python2做了同樣的檢查,看它是否會在原理上工作。當使用
$resultpy = shell_exec("/usr/local/bin/python2 path/to/myscript.py 2>&1 $data");
,我可以用
$resultpy = shell_exec("/usr/local/bin/python3 path/to/myscript.py 2>&1 $data");
時,我也可以用在/ usr /本地成功調用殼都python3與python2運行python腳本,並得到預期的輸出,而不是/ bin/python3或/ usr/local/bin/python2。
可能是python腳本本身有問題嗎(也許python3與python2相比有些語法改變)?
from collections import OrderedDict
import sys, json
import scipy
import scipy.cluster.hierarchy as sch
try:
data = json.loads(sys.argv[1], object_pairs_hook=OrderedDict)
except (ValueError, TypeError, IndexError, KeyError) as e:
print json.dumps({'error': str(e)})
sys.exit(1)
print json.dumps(data)
我還在python腳本的頂部添加了一個she-bang行,但是這並沒有像預期的那樣解決它。所有導入模塊都安裝在兩個版本中。任何幫助,這是非常感謝!
括在您打印括號中的變量(亦即。'打印(....)') –
謝謝,我也是! – schustischuster