2014-06-19 130 views
0

我有一个PHP脚本,它调用一个Python脚本,Python脚本导入一个库,运行一些代码并返回结果。问题是,如果我直接从shell中运行脚本(我使用Linux),它完美的作品,但如果我打开浏览器中的PHP文件,我得到一个错误说:Python脚本不通过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

+1

检查你的Python的'sys.path'从PHP调用时。 –

+0

像洋葱说的那样 - 当从php调用并直接在shell中检查python的sys.path并比较它以找出你需要手动添加的路径。 – furas

+0

我已经在我的python脚本中得到了这个:'sys.path.insert(1,'$ HOME/lib/python2.6/site-packages /');'。路径与PYTHONPATH相同 – WarSensation

回答

0

这种情况是apche找到Python的正确路径,你应该在它的conf文件中提到它。 例如,如果u有RedHat Linux上 你应该添加 出口PYTHONPATH =在/ usr/local/bin目录

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

PYTHONPATH IS PATH TO YOUR Python可执行程序时,您可以通过命令 发现这蟒蛇

然后它会工作

相关问题