MediaWikiでSyntaxHighlightが構文ハイライトエラー

投稿者: | 2026年7月31日
  • 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 ~/work

Pygmentsの設定

// 既存ファイル退避
$ 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

たぶんこれでいける。


参考文献

多謝

MediaWikiの「構文ハイライトエラー」 - とある社畜の頭脳整理

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です