python2のサポートが2020年までということを知り、Windows環境で常用しているtracをどうにかしてpython3で継続して使いたくていろいろ調べました。
id:jun66j5さんがGitHub上にpython3対応しているソースコードを見つけたので、これをベースにちょっとだけテキトーに修正して、自分が使う分には困らないレベルで動くようになりました。(id:jun66j5さんありがとうございます。)
自分へのメモとして手順を書きます。
※この記事で使用するこのソースコード(https://github.com/m-wachi/trac.git)はTrac Projectの公式コードではありませんので注意してください。
Windws環境のtrac 1.0(DBはPostgreSQL)からPython3環境でのtrac(1.2?)へ移行する手順
前提の環境: * python2 (2.7.15) (+pip, virtualenv) * python3 (3.7.2) (+pip, venv) * PostgreSQL 11
python2と3の共存環境の構築 https://qiita.com/segur/items/23f276320216c3aa7cf7
Python2環境で、trac1.0 → trac1.2へのアップグレード
1) 任意の作業ディレクトリ(ここではc:\py_virenv)を作成します
2) コマンドプロンプトを開く
3) virtualenv環境を作成
cd \py_virenv mkdir trac1.2env virtualenv trac1.2env
4) 作った環境に入る
cd trac1.2env scripts\activate
5) pipでgenshi, trac, psycopg2をインストール
pip install genshi trac psycopg2
6) 既存のDBをバックアップして、新たにインポート
pg_dump -Fc trac > trac.dmp createdb -O tracuser trac12 pg_restore -d trac12 trac.dmp
※tracuserはtracのDBに接続するときのユーザ
mkdir trac
8) エクスプローラー等で古いTracのプロジェクトディレクトリをコピー(myproject)
9) conf/trac.iniを編集。[trac]のdatabaseの設定を新たにインポートしたDBに変更
database = postgres://tracuser:tracuser@localhost:5432/trac12
10) データをUpgradeする
trac-admin c:\py_virenv\trac1.2env\trac\myproject upgrade trac-admin c:\py_virenv\trac1.2env\trac\myproject wiki upgrade
11) python2環境で、trac1.2での動作確認
tracd -p 8000 c:\py_virenv\trac1.2env\trac\myproject
アップグレードしたプロジェクトをPython3環境へ移す
12) python2環境とは別にpython3環境でコマンドプロンプトを開く
13) venv環境を作成
cd \py_virenv mkdir trac1.2_py3env python -m venv trac1.2_py3env
14) 作った環境に入る
cd trac1.2_py3env scripts\activate
15) pipがpython3であることを確認
pip -V
16) genshi, psycopg2をインストール
pip install genshi psycopg2
mkdir src cd src
18) git clone及びcheckoutでpython3対応したソースを入手
git clone https://github.com/m-wachi/trac.git cd trac git checkout python3+swig-py3+r1853738
19) pip install -eでtracをソースからインストール
cd .. pip install -e trac
20) Python2環境で作ったtracのフォルダをコピー
cd .. mkdir trac xcopy /e ..\trac1.2env\trac trac
21) --http10オプションを付けてtracd起動
tracd -p 8000 --http10 c:\py_virenv\trac1.2_py3env\trac\myproject