:::: MENU ::::

trac・subversion導入奮闘記 エラー編

tracのプロジェクト作成に失敗する

 

MySQL編

実行ログ

 Path to repository [/path/to/repos]> /var/data/svn/hoge

Creating and Initializing Project
Initenv for '/var/data/trac/hoge' failed.
Failed to create environment.
Unsupported database type "mysql"
Traceback (most recent call last):
File "/usr/local/Python252/lib/python2.5/site-packages/Trac-0.11.1.ja1-py2.5.egg/trac/admin/console.py", line 568, in do_initenv options=options)
File "/usr/local/Python252/lib/python2.5/site-packages/Trac-0.11.1.ja1-py2.5.egg/trac/env.py", line 188, in __init__self.create(options)
File "/usr/local/Python252/lib/python2.5/site-packages/Trac-0.11.1.ja1-py2.5.egg/trac/env.py", line 311, in create DatabaseManager(self).init_db()
File "/usr/local/Python252/lib/python2.5/site-packages/Trac-0.11.1.ja1-py2.5.egg/trac/db/api.py", line 69, in init_db connector, args = self._get_connector()
File "/usr/local/Python252/lib/python2.5/site-packages/Trac-0.11.1.ja1-py2.5.egg/trac/db/api.py", line 97, in _get_connector raise TracError('Unsupported database type "%s"' % scheme)
TracError: Unsupported database type "mysql"

[root@localhost .egg-cache]# /etc/init.d/httpd restart
httpd を停止中:                                            [失敗]
httpd を起動中: Syntax error on line 4 of /etc/httpd/conf.d/trac.conf:
Invalid command 'PythonHandler', perhaps misspelled or defined by a module not included in the server configuration
[失敗]

おそらく原因はMySQL-pythonだと思う。
インストールしてあるけど、Pathが通っていない。
python >>> import MySQLdbうまくいかなかったからそうだろう。
問題は、どうやってパスをつけるかか。。。

 [root@localhost /]# python
Python 2.5.2 (r252:60911, Oct 29 2008, 11:49:04)
[GCC 4.1.2 20071124 (Red Hat 4.1.2-42)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named MySQLdb

どないせいっちゅーねん。。。

解決:

yum -y install MySQL-pythonでは、python2.4のほうにインストールされてしまう。
なので、SourceForge.net: MySQL for Pythonでソースとってきて、ドグマ、水平思考、並列化: 【Python】 MySQL-pythonのインストールのようにインスコ

 # wget http://nchc.dl.sourceforge.net/sourceforge/mysql-python/MySQL-python-1.2.2.tar.gz
# tar xvf MySQL-python-1.2.2.tar.gz
# cd MySQL-python-1.2.2
# python setup.py build
# python setup.py install

 

SQLite編

実行ログ

 Creating and Initializing Project
Initenv for '/var/data/trac/picolit' failed.
Failed to create environment.
global name 'sqlite' is not defined
Traceback (most recent call last):
File "/usr/local/Python252/lib/python2.5/site-packages/Trac-0.11.1.ja1-py2.5.egg/trac/admin/console.py", line 568, in do_initenv
options=options)
File "/usr/local/Python252/lib/python2.5/site-packages/Trac-0.11.1.ja1-py2.5.egg/trac/env.py", line 188, in __init__
self.create(options)
File "/usr/local/Python252/lib/python2.5/site-packages/Trac-0.11.1.ja1-py2.5.egg/trac/env.py", line 311, in create
DatabaseManager(self).init_db()
File "/usr/local/Python252/lib/python2.5/site-packages/Trac-0.11.1.ja1-py2.5.egg/trac/db/api.py", line 70, in init_db
connector.init_db(**args)
File "/usr/local/Python252/lib/python2.5/site-packages/Trac-0.11.1.ja1-py2.5.egg/trac/db/sqlite_backend.py", line 136, in init_db
cnx = sqlite.connect(path, timeout=int(params.get('timeout', 10000)))
NameError: global name 'sqlite' is not defined

解決:

- initenvで"global name 'sqlite' is not defined" - Do You PHP はてな
- RHEL4にTracインストール - Lazy Technology

libsqlite3.so.0の位置を/etc/ld.so.confに登録する

 # sudo vi /etc/ld.so.conf
/usr/local/lib    ★この行を追加
# sudo /sbin/ldconfig

 

 

共通項目

 

Genshiのバージョンが古いと言われる

- 第3回 TracをLinuxにインストール,Tracの基本的な設定:ITpro
新しいのをeasy-install

結局表示されないんだが……Internal Server Errorとかさ

知らん、がんばれ

- 2007-08-07 - seijinia(セイジニア)
pythonがあやしかったら、

# yum -y install python python-setuptools mod_python
して、もっかい最新のmod_pythonをmake installするとかかな。

ひさびさにアクセスしてみたら、またInternal Server Error……

もう再インストしかなくね? - Trac - ymkoの日記(管理者権限ないのでhomeにプログラムをインストールすることに執念を燃やす日記)

setuptools

- Python Package Index : setuptools 0.6c11
# easy_install setuptools-0.6c11-py2.6.egg

Genshi

- Download – Genshi rpmにbuildしてインストール

Trac

- インタアクト株式会社--業務内容--公開資料 rpmにbuildしてインストール

trac-adminが使えない

trac-adminはよく使うのでパスを通しておけ
# ln -s /usr/local/Python252/bin/trac-admin /usr/local/bin/trac-admin

Python2.6系だとエラーが出る

/usr/local/lib/python2.6/site-packages/MySQL_python-1.2.2-py2.6-linux-i686.egg/MySQLdb/__init__.py:34: DeprecationWarning: the sets module is deprecate
こんなんが出るが、setsモジュールがpython2.6から非推奨になっているため表示されているだけ。 無視していい。

subversionをrpmやyumで入れたものを使うと、うまくいかない

rpm版だとsvn-pythonが見あたらないので、 Swigバインディングのインストール行ったあと、pythonに自力でパスを張る
 # locate svn-python
/usr/local/lib/svn-python
# vi /usr/local/Python252/lib/python2.5/site-packages/subversion.pth
/usr/local/lib/svn-python
# python >>> import svn