簡體   English   中英

www-data用戶無法導入已安裝的python模塊

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM