我试图在运行Debian5的VPS上运行Django应用程序。当我运行演示应用程序时,它会返回以下错误:
File "/usr/local/lib/python2.5/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/usr/local/lib/python2.5/site-packages/django/db/backends/sqlite3/base.py", line 30, in <module>
raise ImproperlyConfigured, "Error loading %s: %s" % (module, exc)
ImproperlyConfigured: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No module named _sqlite3
查看Python安装,它会给出相同的错误:
Python 2.5.2 (r252:60911, May 12 2009, 07:46:31)
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.5/sqlite3/__init__.py", line 24, in <module>
from dbapi2 import *
File "/usr/local/lib/python2.5/sqlite3/dbapi2.py", line 27, in <module>
from _sqlite3 import *
ImportError: No module named _sqlite3
>>>
通过在web上阅读,我了解到Python 2.5应该包含所有必需的SQLite包装。我是否需要重新安装Python,或者是否有其他方法来启动并运行此模块?
似乎您的makefile没有包含适当的
.so
文件。可以通过以下步骤更正此问题:sqlite-devel
(或libsqlite3-dev
)./configure --enable-loadable-sqlite-extensions && make && sudo make install
重新配置和编译Python注意
sudo make install
部分将把python版本设置为系统范围的标准,这可能会产生不可预见的后果。如果在工作站上运行此命令,则可能需要在现有python旁边安装,这可以通过^{我有同样的问题(在Ubuntu Lucid上从源代码构建
python2.5
),并且import sqlite3
抛出了同样的异常。我已经从包管理器安装了libsqlite3-dev
,重新编译了python2.5,然后导入成功。在使用pyenv时,我对Ubuntu上的Python 3.5也有同样的问题。
如果您使用pyenv安装python,它将列为common build problems之一。要解决这个问题,请删除已安装的python版本,安装需求(对于这个特殊情况
libsqlite3-dev
),然后重新安装python版本。相关问题 更多 >
编程相关推荐