21

rhel5にdjango1.4をインストールしています。デフォルトではrhel5にpython2.4が含まれていますが、django1.4を使用するには手動でpython2.7.3をインストールしました。開発サーバーは正常に動作していますが、新しいプロジェクトを作成し、設定を変更した後です。 pyファイル:

'ENGINE':'django.db.backends.sqlite3'、'NAME':'/home/oracle/Desktop/test1/my.db'

python2.7 manage.py syncdbコマンドを実行すると、次のようなエラーが発生します。

Traceback (most recent call last):
 File "manage.py", line 10, in <module>
   execute_from_command_line(sys.argv)
 File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py",
line 443, in execute_from_command_line
   utility.execute()
 File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py",
line 382, in execute
   self.fetch_command(subcommand).run_from_argv(self.argv)
 File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py",
line 261, in fetch_command
   klass = load_command_class(app_name, subcommand)
 File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py",
line 69, in load_command_class
   module = import_module('%s.management.commands.%s' % (app_name, name))
 File "/usr/local/lib/python2.7/site-packages/django/utils/importlib.py",
line 35, in import_module
   __import__(name)
 File "/usr/local/lib/python2.7/site-packages/django/core/management/commands/syncdb.py",
line 8, in <module>
   from django.core.management.sql import custom_sql_for_model,
emit_post_sync_signal
 File "/usr/local/lib/python2.7/site-packages/django/core/management/sql.py",
line 6, in <module>
   from django.db import models
 File "/usr/local/lib/python2.7/site-packages/django/db/__init__.py",
line 40, in <module>
   backend = load_backend(connection.settings_dict['ENGINE'])
 File "/usr/local/lib/python2.7/site-packages/django/db/__init__.py",
line 34, in __getattr__
   return getattr(connections[DEFAULT_DB_ALIAS], item)
 File "/usr/local/lib/python2.7/site-packages/django/db/utils.py",
line 92, in __getitem__
   backend = load_backend(db['ENGINE'])
 File "/usr/local/lib/python2.7/site-packages/django/db/utils.py",
line 24, in load_backend
   return import_module('.base', backend_name)
 File "/usr/local/lib/python2.7/site-packages/django/utils/importlib.py",
line 35, in import_module
   __import__(name)
 File "/usr/local/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py",
line 31, in <module>
   raise ImproperlyConfigured("Error loading either pysqlite2 or
sqlite3 modules (tried in that order): %s" % exc)
django.core.exceptions.ImproperlyConfigured: Error loading either
pysqlite2 or sqlite3 modules (tried in that order): No module named
_sqlite3

抜け道を提案してください。

4

9 に答える 9

25

sqlite開発ライブラリがインストールされていない状態でPythonを手動でコンパイルした可能性もあります

だから、

sudo apt-get install libsqlite3-dev libsqlite3

次に、Pythonを再インストールします

次のように入力してテストします

python
>>> import sqlite3
于 2014-01-08T15:56:19.473 に答える
6

django.db.backends.sqlite3で、

try:
    try:
        from pysqlite2 import dbapi2 as Database
    except ImportError:
        from sqlite3 import dbapi2 as Database
except ImportError as exc:
    from django.core.exceptions import ImproperlyConfigured
    raise ImproperlyConfigured("Error loading either pysqlite2 or sqlite3 modules (tried in that order): %s" % exc)

そのため、 sqlite3またはpysqlite2という名前のモジュールの1つがインストールされていません。それらをインストールしてみてください

$ pip install sqlite3 # or pysqlite2

アップデート

sqlite3pysqlite2Pythonの一部であるため、これら2つのパッケージはPyPiには含まれていません。

于 2012-05-29T10:06:00.803 に答える
5

Django開発サーバーを実行しようとすると、非常によく似たエラーメッセージが表示されました。

ImproperlyConfigured: Error loading either pysqlite2 or sqlite3 modules (tried in that order): dlopen(/Users/Rubinous/Projects/Jiiri2/jiiri_venv/lib/python2.7/lib-dynload/_sqlite3.so, 2): Library not loaded: /usr/local/opt/sqlite/lib/libsqlite3.0.8.6.dylib
Referenced from: /Users/Rubinous/Projects/Jiiri2/jiiri_venv/lib/python2.7/lib-dynload/_sqlite3.so
Reason: image not found

pysqlitePythonモジュールをでインストールすることでこれを解決しましたpip install pysqlite

于 2013-09-08T22:23:03.837 に答える
5

MacOSX 10.9(Mavericks)では、次のコマンドを実行する必要がありました。

CPPFLAGS=-I/usr/local/opt/sqlite/include; LDFLAGS=-L/usr/local/opt/sqlite/lib; pip install pysqlite

私は自作を使用してsqlite3をインストールしました。

brew update; brew install sqlite
于 2013-12-01T02:29:39.727 に答える
4

これは私がそれを機能させるためにしたことです。

python 2.7.5がインストールされたpythonbrew(pipを使用)を使用しています。

私は最初にZubair(上記)が言ったことを実行し、このコマンドを実行しました:

sudo apt-get install libsqlite3-dev

次に、次のコマンドを実行しました。

pip install pysqlite

これによりデータベースの問題が修正され、実行したときにこれを確認できました。

python manager.py syncdb
于 2013-11-02T23:33:13.743 に答える
3

sqlite3は、バージョン2.5以降のPythonの一部です。このライブラリをインストールします。

sudo apt-get install libsqlite3-dev

または、Python-devパッケージをインストールしてみることもできます。

于 2012-05-28T12:14:58.467 に答える
1

RedHatのソースからビルドされたpython2.6.8でも同じ問題が発生しました(ただし、これはおそらく他のOSの他のバージョンにも当てはまります)。

私の問題は、Pythonを構成してビルドする前にconfig.status --rechecksqlite-devel(Red Hat)をインストールすることで解決しました(またはビルドディレクトリで実行し、その後にmakeとを続けますmake install

于 2012-11-09T14:13:02.023 に答える
1

FreeBSD10python3.5用

pkg install py35-sqlite3
于 2016-07-10T10:04:54.380 に答える
0

MordicusEtCubitusの答えは正しいです。初心者としてまだあなたを賛成することはできません。

答えに追加するために、fedora(23)で次のコマンドを実行して代わりにインストールします。

sudo dnf install libsqlite3x-devel libsqlite3x
于 2018-08-22T12:46:42.520 に答える