$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