« svk2.0.1 | Main | Mylarを使ってみた »

2007.04.30

Python2.5への移行

 TracInstallによると、TracでXML-RPCを使用する場合はPython2.5が必要とのこと。というわけで、ActivePython2.3→ActivePython2.5への移行を試みたのですが・・・いろいろとトラブルが発生して、まともに動いているとは言い難い状態に。

 とりあえず使用したものは以下の通り(Apache2.0の環境です)。
・ActivePython-2.5.0.0-win32-x86.msi(ActiveStateのサイトから)
・svn-win32-1.4.3_py25.zip(Subversionのサイトから
・pysqlite-2.3.3.win32-py2.5.exe(pysqlite
・clearsilver-0.10.4(Python2.5を使用する場合は0.10.4以降とのことですが、ダウンロードページにはWin32用のバイナリは配布されていなかったので、http://knowlog.blogspot.com/2007/04/clearsilver-0104-with-python-25-win32.htmlで配布されているものを使用)
・docutils-0.4.tar.gz(http://docutils.sourceforge.net/より)
・mod_python-3.3.1.win32-py2.5-Apache2.0.exe(mod_python
・SilverCity-0.9.7.win32-py2.5.exe(SilverCity@SourceForge
・ez_setup.py(setuptools

 で、ActivePython2.3をアンインストール後、

・Python2.5をインストール(インストーラ実行)
・mod_python3.3.1をインストール(exe実行)
・pysqlite2.3.3をインストール(exe実行)
・ClearSilverのneo_cgi.pydをC:\Python25\Lib\site-packagesにコピー
・SilverCity0.9.7をインストール(exe実行)
・Trac0.10.xをインストール(python setup.py install)
・svn-win32-1.4.3_py25.zip内のlib/libsvnフォルダをC:\Python25\Lib\site-packagesにコピー
・setuptoolsをインストール(python ez_setup.py)

という感じで、とりあえず一式インストール。Apacheを起動してアクセスしてみたところ、wikiページは問題なく表示できたのですが(TracプロジェクトそのものはPython2.3の頃に作成したものをそのまま流用)・・・リポジトリの内容を表示させようとすると、

500 Internal Server Error (Unsupported version control system "svn")

というエラーが発生(タイムラインの場合も同様)。

 ViewVC経由でリポジトリの内容を表示させようとすると・・・MOD_PYTHON ERRORが発生。ちなみに、Tracebackの内容は

File "C:\Python25\Lib\site-packages\mod_python\importer.py", line 1537, in HandlerDispatch
default=default_handler, arg=req, silent=hlist.silent)
File "C:\Python25\Lib\site-packages\mod_python\importer.py", line 1229, in _process_target
result = _execute_target(config, req, object, arg)
File "C:\Python25\Lib\site-packages\mod_python\importer.py", line 1128, in _execute_target
result = object(arg)
File "c:\Program Files\viewvc-1.0.3\bin\mod_python\handler.py", line 24, in handler
module = apache.import_module(module_name, path=[path])
File "C:\Python25\Lib\site-packages\mod_python\importer.py", line 296, in import_module
log, import_path)
File "C:\Python25\Lib\site-packages\mod_python\importer.py", line 680, in import_module
execfile(file, module.__dict__)
File "C:\Program Files\viewvc-1.0.3\bin\mod_python\viewvc.py", line 45, in <module>
import viewvc
File "C:\Python25\Lib\site-packages\mod_python\importer.py", line 991, in load_module
return _global_modules_cache.import_module(self.__file)
File "C:\Python25\Lib\site-packages\mod_python\importer.py", line 488, in import_module
assert(file != parent_info.file), "Import cycle in %s." % file
AssertionError: Import cycle in C:\Program Files\viewvc-1.0.3\bin\mod_python\viewvc.py.

のような感じ。

 う~ん・・・原因がわからない・・・。Tracの場合は、PythonPathの設定を確認とありますが、設定しても特に変化がないんですよね・・・。XML-RPCでEclipseと連携している話はちらほらと見かけるので、おそらくどこかの設定の問題だとは思うのですが・・・??



【追記】
 Tracに関してはyyamanoの日記に解決法が書かれていました(discypus:ソフト/Bug Tracking/trac/未整理 からたどり着きました)。libsvnフォルダ内のlibsvn_swig_py-1.dll以外のdll(_client.dll等全部で7ファイル)に関して、すべて拡張子をpydに変更するだけで問題なく表示できるように(その理由はhttp://docs.python.org/whatsnew/ports.html#SECTION0001510000000000000000に書かれていますが、拡張子がpydのものしか探さなくなったことに起因するようです)。
 なお、ViewVCに関しては、まだ動いてくれません・・・。

|

« svk2.0.1 | Main | Mylarを使ってみた »

Subversion・Trac・etc.」カテゴリの記事

Comments

ご参考
http://blog.mmmultiworks.com/2007/4/14/rubyforge-viewvc-now-with-mod_python

"I had to renamed the /u/apps/viewvc/bin/mod_python/viewvc.py script to /u/apps/viewvc/bin/mod_python/rubyforge-viewvc.py because..."
と書かれていました。適当なファイル名に変更すると、import errorはなくなるようです。

Posted by: kenji | 2007.05.01 09:37

ありがとうございます。早速試してみたのですが・・・残念ながら、僕の環境では現象は改善しませんでした(OSが違うことも関係しているのかもしれませんが)。

気になるのは、今の状況だとTracで添付ファイルをアップロードした際に、(ログに)同様のエラーが出ていることですかね・・・。Python2.5の場合、mod_pythonは3.3.1しか出ていないようですが、この辺に何か問題があったりするんでしょうか。

Posted by: syo | 2007.05.01 22:27

同じ症状出てたんですが、こちらで解決しました。

http://jfut.featia.net/diary/20070610.html

Posted by: すえぴ~ | 2007.11.08 21:41

上記ページを参考に handler.py ファイルの apache.import_module の部分を書き換えたところ、問題なく動きました。

ありがとうございました。

Posted by: syo | 2007.11.08 22:44

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference Python2.5への移行:

« svk2.0.1 | Main | Mylarを使ってみた »