- CORESERVER V2 (CORE-X)
- MediaWiki 1.46.0
- SyntaxHighlight_GeSHi 2.0
- Pygments 2.20.0
- Python 3.6.8 (CORESERVERプリインストール)
この条件で「構文ハイライトエラー」が発生する。
原因は簡単で、Pygments 2.20.0が動くPythonは>=3.9なため。
本体のPythonは触れないので、別の場所に3.9以上のPythonwoインストールします。
目次
インストール
今回はPython3.14.6をインストールする。
// 現在地確認
$ cd ~
$ pwd
/home/ユーザー名
// 作業ディレクトリ作成
$ mkdir work
$ cd work
// Pythonダウンロード
$ wget https://www.python.org/ftp/python/3.14.6/Python-3.14.6.tgz
// 展開
$ tar xvf Python-3.14.6.tgz
// インストール先の設定
$ cd Python-3.14.6
$ ./configure ==prefix=/home/ユーザー名/.local/python/
// インストール
$ make
$ make install
// バージョン確認
$ ~/.local/python/bin/python3 --version
Python 3.14.6作業ディレクトリはもういらんので削除。
$ rm -rf ~/workPygmentsの設定
// 既存ファイル退避
$ cd MediaWikiのディレクトリ/extensions/SyntaxHighlight_GeSHi/pygments/
$ cp create_pygmentize_bundle create_pygmentize_bundle_bk
$ mv pygmentize pygmentize_bk
// create_pygmentize_bundleを修正
$ vi create_pygmentize_bundle
----------------------------------------
#!/home/ユーザー名/.local/python/bin/python3
# -*- coding: utf-8 -*-
~~~
PYGMENTIZE_LAUNCHER = textwrap.dedent('''\
#!/home/ユーザー名/.local/python/bin/python3
~~~
with open(file_path, 'wb') as f:
f.write(b'#!/home/ユーザー名/.local/python/bin/python3\n')
f.write(data)
----------------------------------------
// ビルド
$ ~/.local/python/bin/python3 create_pygmentize_bundle
// 実行権限付与
chmod +x pygmentizeたぶんこれでいける。
参考文献
多謝