WordPressでPythonのコードを実行する方法がかなり手間がかかるのでまとめてみました。
環境はレンタルサーバーCORESERVERに導入されたWordPressでの導入なるため、環境によっては違いはあると思いますので、少し自分の環境に合わせてアレンジしてください。
【導入の流れ】
CORESERVER には既にpythonが導入されていますが、Python2がデホルトであることなど、環境を変えたい場合が多いともいますので、「①Pythonの仮想環境を導入」し、その環境に「②Pythonと必要なライブラリーを導入」します(そのためにまずTeraTermというサーバーに入るソフトを導入します)その後 「③PHP の 「exec」コマンドをでPythonを実行」します。
①Pythonの仮想環境を導入
①-1 TeraTermのインストール
サーバーに入るために ターミナルエミュレーター Teratermを以下でダウンロードしてください


インストールしたTeraTermを実行し、ホルト名を入力し「OK」ボタンを押してください

ユーザー名とパスワード入力、 CORESERVER の場合はFTPの設定のアカウントがユーザー名、パスワードが同じ。
※パスワードなどコピーしたものを貼り付ける場合は、「Shift」+「Inset」

①-2 pyenvの導入
GitよりPythonの仮想環境pyenvをインストールするため
「git clone https://github.com/yyuu/pyenv.git ~/.pyenv 」を実行。

「.bash_profile」ファイルに以下を記入
export PYENV_ROOT=$HOME/.pyenv
export PATH=$PYENV_ROOT/bin:$PATH
eval “$(pyenv init -)”
「source .bash_profile 」を実行し変更を反映

②Pythonと必要なライブラリーを導入
「pyenv install –list 」でインストール可能なpythonのバージョンをしらべる

今回はバージョン「3.7.4」をインストールします

global を指定すると、システム全体で有効になります。

「pyenv version 」でバージョンがあっているか確認してください

「.bashrc」ファイルに以下を記入
export PYENV_ROOT=$HOME/.pyenv |
export PATH=$PYENV_ROOT/bin:$PATH |
eval “$(pyenv init -)” |
export PYTHONPATH=/virtual/trcodrm/.pyenv/version/3.7.4/lib/python3.7/site-packages |
「source .bash_profile 」を実行し変更を反映

「python -V」でインストールしたバージョンが出ればOKです
必要なライブラリーをpipで導入してください
③PHP の 「exec」コマンドをでPythonを実行
pythonを直接呼び出す事が難しいため今回はPHPを使いpythonを実行します。
そのため「Insert PHP Code Snippet」というプラグインを使用。 WordPressにプラグインを導入してください。
プラグインを導入すると以下の「XYZ PHP Code」というメニューができますので選択し「Add New PHP Code Snippet」をクリックしてください

ショートコード名を入力し、以下のコードを入力します。「Create」で作成完了です
【注意】$command=’pythonが入っているディレクトリーも記述 実行するpythonファイルをディレクトリーから記述’
ディレクトリーから記述しないと、上手くpythonもファイルも実行されない。

投稿や固定ページのブロックの種類を「ショートコード」にして先ほど作成したショートコードを入力します。


これで、このページが読み込まれると、PHP経由でpythonファイルが実行されます
コメント
[…] https://nextcreating.online/2020/02/13/wordpress%E3%81%A7python%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E5%AE%9F%E8%A1%8C%E6%96%B9%E6%B3%95%E3%81%BE%E3%81%A8%E3%82%81/ […]