« 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 at 09:37

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

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

Posted by: syo | 2007.05.01 at 22:27

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

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

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

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

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

Posted by: syo | 2007.11.08 at 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

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/14896385

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

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