无法从 PHP (apache2) 执行 python 脚本

Can't execute python script from PHP (apache2)

我想在我的 macOS 上使用 apache2 从 PHP 文件执行 Python 脚本。我能够执行简单的 python 脚本,例如:

来自PHP:

$result = shell_exec("python /Library/…./example.py '$name' ‘$email’ ”);
var_dump($result);

到Python

import sys

x = sys.argv[1]
y = sys.argv[2]

print("name: " + x + "<br>")
print("email: " + y + "<br>")

输出为:

但是当我尝试导入像这样的包时:

import openpyxl
import numpy as np
import matplotlib.pyplot as plt

我得到:

我的问题是,有谁知道:

1 – 我怎样才能使这些(和任何其他)包工作?

2 – shell_exec 当前正在执行 python2。我如何添加 python3?(如果我写 python3 而不是 python 将不起作用)

万一以后有人遇到同样的问题,以下是我的发现。

通过 shell_exec 执行一些不同的命令,我注意到它的行为与我的终端不同。

所以我发现当我在 shell_exec 上执行 python3 时,它没有指向正确的地址,然后我所要做的就是传递正确的地址:

$result = shell_exec("/Library/Frameworks/Python.framework/Versions/3.7/bin/python example.py '$name' ‘$email’ ”);
var_dump($result);

现在脚本可以运行了:)