Laravel
LaravelプロジェクトでPythonを動かす方法
いつもご利用ありがとうございます。
この記事には広告が掲載されており、その広告費によって運営しています。
オススメ本
Laravel プロジェクト内で、Python ファイルを動かす方法についてまとめました
前提
ローカルに Python 環境がすでにある状態
ローカルに python が入っているかどうかは、
python --version
python3 --version
などで確認することができます。
このコマンドが使えない人はローカル環境に python が入っていないので導入してから、記事を読んでいただければと思います。
流れの説明
python ファイルをどのタイミングで動かすかというのは、様々だとは思いますが、今回は
- 実行する Python ファイルを作成する
- php artisan のコマンドファイルを作成する
- python を動かす記述をする
このような流れでいきます。
実行する Python ファイルを作成する
app/Python/test.py を作成し、以下のように書いておきます。
print('test')
Laravel のコマンドファイルを作成する
Laravel では以下のコマンドで、コマンドファイルを作成します(ややこしい)
php artisan make:command PythonTestCommand
app/Console/Commands/PythonTestCommand.php
が作成されたことを確認してください。
PythonTestCommand.php の編集
use Symfony\Component\Process\Exception\ProcessFailedException;
use Symfony\Component\Process\Process;
//他のuseは省略
class PythonTestCommand extends Command
{
protected $signature = 'test:python';
protected $description = 'Pythonファイルの実行テスト';
//自分の環境では、ファイルの位置が引数のようになっています。
$process = new Process(['python', './app/Python/test.py']);
//もし、ファイルの基準が知りたい場合、以下のようにpwdコマンドると基準ディレクトリが分かります。
// $process = new Process(['pwd']);
try {
$process->mustRun();
// \Log::info();
$response = $process->getOutput();
dd($response);
} catch (ProcessFailedException $exception) {
\Log::error($exception->getMessage());
}
}
結果
test
このように出力できれば無事 python を動かすことができました!!
今回はコマンドで実装しましたが、Controller でも、どこでも同じように使えるはずですので、お試しください。
まとめ
以上です。
python は、データや整形において便利なパッケージがたくさんありますので、ぜひ Laravel プロジェクトに導入してみてください。
感想・苦情は TwitterDM にご連絡ください。
それでは!
人気記事