我在AWS EC2 Ubuntu上有一個rails 4應用程序。它會使用反引號來調用python程序:
pyresult = `python /path/to/abc.py`
python程序在我的本地開發中工作得很完美。但是在生產服務器上它失敗,沒有錯誤。 (pyresult爲空)
我已經調試了很久,發現了一個可能的原因:$ PYTHONPATH
在本地,我在我的.bashrc後續,如Python程序是否要添加:
export PYTHONPATH="$HOME/.local/lib/python2.7/site-packages/:$PYTHONPATH"
在服務器上,我還將它們添加到服務器上的.bashrc中。但在我的應用程序中運行echo $PYTHONPATH
會給我一個空字符串。
然後我在Rails應用程序明確添加,
`export PYTHONPATH="$HOME/.local/lib/python2.7/site-packages/:$PYTHONPATH"`
pyresult = `python /path/to/abc.py`
但$ PYTHONPATH仍然是空的。並調用python程序仍然失敗,沒有錯誤。
猜猜缺少的$ PYTHONPATH導致該問題是否正確?如果是,如何解決問題?感謝您的幫助。(對不起,我是linux新手,並不熟悉python)
這可能會在[另一個](http://stackoverflow.com/q/11648620/1563512)stackoverflow答案。你試過'ENV ['PYTHONPATH'] =「/ some/path:/ some/otherpath」;'? – zerodiff 2014-09-04 16:18:45