Tuesday, March 10, 2009

ubuntu 自己安裝後找不到 sqlite3 module的問題.

$ python manage.py runserver 8080
Validating models...
Unhandled exception in thread started by
Traceback (most recent call last):
File "/usr/local/lib/python2.6/site-packages/Django-1.0.2_final-py2.6.egg/django/core/management/commands/runserver.py", line 48, in inner_run
self.validate(display_num_errors=True)
File "/usr/local/lib/python2.6/site-packages/Django-1.0.2_final-py2.6.egg/django/core/management/base.py", line 246, in validate
num_errors = get_validation_errors(s, app)
File "/usr/local/lib/python2.6/site-packages/Django-1.0.2_final-py2.6.egg/django/core/management/validation.py", line 22, in get_validation_errors
from django.db import models, connection
File "/usr/local/lib/python2.6/site-packages/Django-1.0.2_final-py2.6.egg/django/db/__init__.py", line 16, in
backend = __import__('%s%s.base' % (_import_path, settings.DATABASE_ENGINE), {}, {}, [''])
File "/usr/local/lib/python2.6/site-packages/Django-1.0.2_final-py2.6.egg/django/db/backends/sqlite3/base.py", line 27, in
raise ImproperlyConfigured, "Error loading %s module: %s" % (module, exc)
django.core.exceptions.ImproperlyConfigured: Error loading sqlite3 module: No module named _sqlite3

解決方法:
重新手動安裝 sqlite3 和 python 2.6.1
先安裝sqlite3
# wget http://www.sqlite.org/sqlite-3.6.6.2.tar.gz
# tar xzvf sqlite-3.6.6.2.tar.gz
# cd sqlite-3.6.6.2
# ./configure
# make
# make install
再安裝 python 2.6.1
# wget http://www.python.org/ftp/python/2.6.1/Python-2.6.1.tgz
# tar xvf Python-2.6.1.tgz
# cd Python-2.6.1
# ./configure
# make
# make install

測試:

$ python manage.py runserver 8080
Validating models...
0 errors found

Django version 1.0.2 final, using settings 'mysite.settings'
Development server is running at http://127.0.0.1:8080/
Quit the server with CONTROL-C.

完成.

No comments: