【发布时间】:2019-10-30 14:08:35
【问题描述】:
我编写了一个 python 脚本来导入我使用pip 安装的特定模块。
当我在 python test.py 这样的终端上运行此脚本时,一切正常,当我运行 help("modules") 时,我可以在列表中看到我的模块(所以他安装得很好)
问题是我尝试使用 shell_exec("python test.py") 使用 php 脚本运行此脚本,但随后出现 python 不知道此模块的错误:
ImportError: No module named ...
你知道我的错误是什么或者我可以如何解决这个问题吗?
>编辑1:
所以我像@LucasMeine 告诉我的那样成为了 apache 用户,首先我发现使用的 python 版本不正确。所以我创建了一个好的别名,然后我在终端中使用help("modules")检查了apache用户和模块存在的正确python版本。该模块在给定的列表中,所以我不明白为什么在我的 apache 错误日志中我收到消息:
ImportError: No module named ...
【问题讨论】:
-
如果您正在使用环境,请先尝试发送命令以启用该环境
-
对不起,我不太明白你的意思?
-
尝试使用完整路径运行您的脚本,例如
shell_exec("/usr/bin/python3.5 test.py")(放入您需要的路径)。这样,您将确保您运行所需的任何版本的 Python,并且不会依赖于您的 shell 设置。 -
@igrinis 谢谢它的作品。我应该先尝试一下。发表你的答案,这样我就可以给你我的赏金;)