TurboGearsバージョンアップしたら動かない

2009年2月16日 (月)

TurboGearsをバージョンアップした。以前はバージョン1.0.1.1と、大分古いバージョン。新プロジェクトにTurboGearsを使用することにしたためのバージョンアップだ。新バージョンは1.0.8だ。

さてこの新バージョンでテストのため新プロジェクトを作成し、動かしたところ、動かない。WEBアクセス用のポートが既に使用されている、というエラーだ。そこで、ポートをいろいろ変更してみた。すべて同じエラーで起動できない。これは変だ。何かTurboGearsにバグがあるようだ。

ネットでいろいろ調べた。やっと行き当たったのがerror: port not freeだ。この記事(ML)では、(予想されたとおり)「そのポートが使用済みなのでは」という回答が延々続くが、最後にやっと回答があった。それは、TurboGearsではなく、Cherrypyのソースを修正しなければならない、というもの。

> i can use turbogears now..
> my solution:
> go to C:\Python25\Lib\site-packages\cherrypy-2.3.0-py2.5.egg\cherrypy
> open _cpserver.py
> find function “start_http_server()”
> comment this function “wait_for_free_port(host, port)”
> then try again..

ここに書いてあるとおり、”wait_for_free_port(host, port)”行をコメントにすることで、無事に正常動作させることができるようになった。

これはCherrypyのバグだったが、TurboGears1.0.8にはちょっとしたバグが残っているようだ。機会があれば報告する。

 

QLOOK ANALYTICS