我在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?
答案 0 :(得分:1)
您可以像这样直接使用。
shell_exec('/ root / .conda / envs / my-rdkit-env / bin / python3 ss.py');