通过激活anaconda环境,使用symfony进程(PHP)调用python程序
我想使用anaconda环境从php Web服务器进程调用python脚本 使用internet,我组装了以下命令:通过激活anaconda环境,使用symfony进程(PHP)调用python程序,python,anaconda,Python,Anaconda,我想使用anaconda环境从php Web服务器进程调用python脚本 使用internet,我组装了以下命令:$(conda info--base)/bin/activate env_name&&python/path/to/myfile.py&&conda deactivate 注1:不使用source,因为Web服务器在sh中执行,source是bash的东西;它必须是 注2:我正在使用$(conda info--base)/bin/activate自动查找到conda的路径,而不是
$(conda info--base)/bin/activate env_name&&python/path/to/myfile.py&&conda deactivate
- 注1:不使用
,因为Web服务器在source
中执行,sh
是bash的东西;它必须是source
- 注2:我正在使用
自动查找到conda的路径,而不是对其进行硬编码。它返回类似于$(conda info--base)/bin/activate
/home/me/miniconda3
use Symfony\Component\Process\Process;
$process = Process::fromShellCommandline($cmd);
$process->setWorkingDirectory(base_path());
$process->setTimeout(0);
$process->run();
我在$process->getErrorOutput()
中发现的错误清楚地表明,在python代码中找不到所需的模块,例如,环境没有更改
我能做些什么来解决这个问题?啊哈。我自己没有正确地测试。当显式使用
sh
而不是我通常使用的shell时,我尝试了更多
解决办法是:
$(conda info--base)/bin/activate&&conda activate env_name&&python/path/to/myfile.py&&conda deactivate
例如:
- 源代码激活脚本
- 正常激活环境
- 运行python
- 正常停用