2014-06-19 128 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可執行程序時,您可以通過命令 發現這蟒蛇

然後它會工作

相關問題