xin/process
最新稳定版本:v1.0.0
Composer 安装命令:
composer require xin/process
包简介
基于 symfony/process 实现的 Process App Work 处理器,可以让您的应用程序更便捷的集成第三方外部程序。
README 文档
README
介绍
基于 symfony/process 实现的 Process App Work 处理器,可以让您的应用程序更便捷的集成第三方外部程序。
- 集成Conda环境支持,可以更自由的切换不通Conda Env Python环境。
安装教程
composer require xin/process
使用说明
基本用法
<?php
use Symfony\Component\Process\Exception\ProcessFailedException;
use Xin\Process\Python\Python;
require_once './vendor/autoload.php';
$python = Python::fromShellCommandline('-i');
try {
$python->mustRun();
} catch (ProcessFailedException $e) {
var_dump($e->getMessage(), $e->getProcess()->getErrorOutput());
}
使用Conda切换环境
<?php
use Symfony\Component\Process\Exception\ProcessFailedException;
use Xin\Process\Python\Python;
require_once './vendor/autoload.php';
$python = Python::fromShellCommandline('-i');
try {
$python->useCondaEnv('test')->setTty(true)->mustRun();
} catch (ProcessFailedException $e) {
var_dump($e->getMessage(), $e->getProcess()->getErrorOutput());
}
Conda使用
<?php
use Symfony\Component\Process\Exception\ProcessFailedException;
use Xin\Process\Python\Conda;
require_once './vendor/autoload.php';
$conda = new Conda([]);
// 创建环境
var_dump($conda->create('test2'));
// 环境列表
var_dump($conda->envs());
// 移除环境
var_dump($conda->remove('test2'));
集成第三方外部程序使用
<?php
use Symfony\Component\Process\Exception\ProcessFailedException;
use Xin\Process\Python\Conda;
require_once './vendor/autoload.php';
class DemoAppWork extends PythonAppWork
{
// 获取第三方应用程序的工作目录
protected function getWorkDirectory(bool $valid = false)
{
return __DIR__;
}
// 定义第三方应用的能力
public function ls($fail = false)
{
return $fail ? $this->processRunOrFail('ls')->getOutput() : $this->processRun('ls')->getOutput();
}
// 返回第三方应用使用的Conda环境
protected function getDefaultCondaEnv()
{
return "demo";
}
}
try {
$app = new DefaultAppWork([]);
var_dump($app->ls(true));
} catch (ProcessFailedException $e) {
var_dump($e->getProcess()->getErrorOutput());
}
统计信息
- 总下载量: 1
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Apache-2.0
- 更新时间: 2024-12-16