【问题标题】:Python script not importing module while running through PHP通过 PHP 运行时 Python 脚本未导入模块
【发布时间】:2014-06-19 15:17:21
【问题描述】:

我有一个 PHP 脚本,它需要一个 Python 脚本,该 Python 脚本导入一个库,运行一些代码并返回结果。问题是,如果我直接从 shell(我使用的是 linux)运行脚本,它可以完美运行,但是如果我在浏览器中打开 PHP 文件,我会收到一条错误消息:

Array
(
    [0] => Traceback (most recent call last):
    [1] =>   File "readReplays.py", line 3, in 
    [2] =>     import sc2reader
    [3] => ImportError: No module named sc2reader
)

我非常感谢您的帮助,因为我遇到此类问题超过 17 小时:P

【问题讨论】:

  • 从 php 调用时检查你的 python 的sys.path
  • 正如飞洋葱所说 - 从 php 和直接在 shell 中调用时检查 python 的 sys.path - 并比较它以找出您必须手动添加的路径。
  • 我的 python 脚本中有这个:sys.path.insert(1,'$HOME/lib/python2.6/site-packages/');。路径和PYTHONPATH一样
  • 你的 $HOME 和 PHP 的 $HOME 不一样
  • 哦,我刚刚从 shell 输出了 sys.path,在脚本中,它缺少很多链接。

标签: php python shell import module


【解决方案1】:

这种情况是为了让 apche 找到正确的 python 路径,你应该在它的 conf 文件中提到它。 例如,如果你有 redhat linux 你应该添加 导出 PYTHONPATH=/usr/local/bin

到 /etc/rc.d/init.d/httpd.conf

PYTHONPATH 是您的 PYTHON 可执行文件的路径,您可以通过命令找到它 哪个蟒蛇

然后就可以了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 2011-12-19
    相关资源
    最近更新 更多