如何在php-fpm shell_exec中激活anaconda环境?

时间:2019-09-23 11:28:14

标签: php python docker nginx anaconda

我在docker容器中以nginx用户身份运行php-fpm。 Dockerfile使用pandas软件包创建正确的anaconda环境,称为“ ss”。当我连接到Docker容器时,它可以正常工作。

Docker CMD运行init.sh脚本:

. /opt/conda/etc/profile.d/conda.sh
conda activate /opt/conda/envs/ss
php-fpm --fpm-config /etc/php-fpm.conf
nginx -g 'daemon off;'

然后,PHP脚本使用以下命令运行Python脚本

shell_exec("python ss.py");

此错误:

  

ImportError:没有名为pandas的模块

我尝试了shell_exec的各种组合,在运行脚本之前尝试激活env,但是大多数错误提示如下:

  

CommandNotFoundError:您的外壳尚未正确配置为   使用“ conda激活”

如何为所有PHP shell_exec脚本激活'ss'env?

1 个答案:

答案 0 :(得分:1)

您可以像这样直接使用。

shell_exec('/ root / .conda / envs / my-rdkit-env / bin / python3 ss.py');