gpt4 book ai didi

php - 从 PHP 调用时 python 导入失败

转载 作者:搜寻专家 更新时间:2023-10-31 21:46:47 25 4
gpt4 key购买 nike

只有当通过系统或 exec 从 php 调用脚本时,我才尝试在 python 中导入模块时遇到了一个令人费解的问题。

来自 python shell:

import igraph #This works.

如果前一行在一个文件中,比如 test_module.py,那么:
bash 中的 python test_module.py 有效。

在 PHP 中:
exec("python test_module.py",$output,$retval) -> 失败:$retval = 1.

但是,如果脚本改为:import math,那么这没问题。

有人处理过类似的事情吗?

最佳答案

发生这种情况是因为您在不同的用户下安装了这些软件包,可能是 root 或其他用户。

我是如何调试它的,我检查了两种情况下 sys.path 的输出(shell 和 php 的 exec,默认情况下有用户 www-data),然后我比较了两者。

当我从 PHP 运行它时,我注意到 '/root/.local/lib/python2.7/site-packages' 路径丢失了,其中恰好包含这些丢失的包。所以我只是将此文件夹的内容复制到 '/usr/lib/python2.7/dist-packages/',这解决了问题。

关于php - 从 PHP 调用时 python 导入失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1925764/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com