gpt4 book ai didi

php - www-data 用户无法导入已安装的 python 模块

转载 作者:太空宇宙 更新时间:2023-11-04 03:53:19 25 4
gpt4 key购买 nike

我正在尝试创建一个 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

关于php - www-data 用户无法导入已安装的 python 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25590460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com