[英]www-data user unable to import installed python modules
我正在嘗試創建一個Web服務器,該服務器最終使用以下命令從PHP代碼調用python腳本(“ MyScript.py”)
echo exec("MyScript.py ....some arguments")
MyScript.py實際上包含使用RDkit和其他模塊(如numpy)的代碼。
當我從用戶(MKT)運行此MyScript.py時。
但是問題是從服務器的PHP腳本執行時出現的。 /var/www/log/apache2/error.log中的錯誤消息如下:
ImportError: No module named rdkit
Traceback (most recent call last):
File "./preditar/preditar.py", line 7, in <module>
from rdkit import Chem
我的rdkit安裝在/ opt / RDKit_2013_06_1 / rdkit /中,如果從MKT用戶運行它們,則會顯示以下結果
MKT@mypc$ python -v
然后在python環境中:
import rdkit
這是輸出:
import rdkit # precompiled from /opt/RDKit_2013_06_1/rdkit/\__init__.pyc
我認為執行此操作的用戶www-data無法訪問此模塊...然后如何在MyScript.py中導入它?
注意:當我將MyScript.py修改為一個簡單的腳本,該腳本僅創建一個文件並向其中寫入數據時,它可以正常工作而不會出現任何問題,這意味着我沒有與權限相關的任何問題。
看起來像Python導入搜索路徑的問題。 嘗試像這樣更改導入:
import sys
sys.path.insert(0, "/opt/RDKit_2013_06_1")
import rdkit
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.