OfflineIMAP 告诉我 SQLite 未安装,即使它已安装

OfflineIMAP 告诉我 SQLite 未安装,即使它已安装

每当我运行 OfflineIMAP v6.5.3.1 时,每个文件夹(即 Gmail 中的标签和文件夹)都会出现错误,告诉我存在问题,然后紧接着它告诉我:

SQLite backend chosen, but no sqlite python bindings available. Please install.

每个文件夹/标签都会发生这种情况,因此这是一个很长的错误列表。

是什么原因造成的?我在Mac OS X 10.7上,我已经安装了sqlitebrew install sqlite我也尝试过pip install pysqlite。当然,我同时安装了 Python 2.7 和 Python 3 ( brew install python python3)。因此,Python 2.7 使用 访问python,Python 3 使用 访问python3。认为这可能是问题所在?

任何帮助表示赞赏。 :)

PS:这是它给我的唯一错误,所以看来我的配置文件没问题。

编辑: Python 模块列表:

altgraph (0.7.1)
argparse (1.2.1)
bdist-mpkg (0.4.4)
bonjour-py (0.3)
eventlet (0.13.0)
greenlet (0.4.1)
include-server (3.1-toolwhip.1)
localtunnel (0.6.1)
macholib (1.3)
modulegraph (0.8.1)
numpy (1.5.1)
pip (1.4)
py2app (0.5.3)
pyobjc-core (2.3.2a0)
pyobjc-framework-AddressBook (2.3.2a0)
pyobjc-framework-AppleScriptKit (2.3.2a0)
pyobjc-framework-AppleScriptObjC (2.3.2a0)
pyobjc-framework-Automator (2.3.2a0)
pyobjc-framework-CalendarStore (2.3.2a0)
pyobjc-framework-CFNetwork (2.3.2a0)
pyobjc-framework-Cocoa (2.3.2a0)
pyobjc-framework-Collaboration (2.3.2a0)
pyobjc-framework-CoreData (2.3.2a0)
pyobjc-framework-CoreLocation (2.3.2a0)
pyobjc-framework-CoreText (2.3.2a0)
pyobjc-framework-DictionaryServices (2.3.2a0)
pyobjc-framework-ExceptionHandling (2.3.2a0)
pyobjc-framework-FSEvents (2.3.2a0)
pyobjc-framework-InputMethodKit (2.3.2a0)
pyobjc-framework-InstallerPlugins (2.3.2a0)
pyobjc-framework-InstantMessage (2.3.2a0)
pyobjc-framework-InterfaceBuilderKit (2.3.2a0)
pyobjc-framework-LatentSemanticMapping (2.3.2a0)
pyobjc-framework-LaunchServices (2.3.2a0)
pyobjc-framework-Message (2.3.2a0)
pyobjc-framework-OpenDirectory (2.3.2a0)
pyobjc-framework-PreferencePanes (2.3.2a0)
pyobjc-framework-PubSub (2.3.2a0)
pyobjc-framework-QTKit (2.3.2a0)
pyobjc-framework-Quartz (2.3.2a0)
pyobjc-framework-ScreenSaver (2.3.2a0)
pyobjc-framework-ScriptingBridge (2.3.2a0)
pyobjc-framework-SearchKit (2.3.2a0)
pyobjc-framework-ServerNotification (2.3.2a0)
pyobjc-framework-ServiceManagement (2.3.2a0)
pyobjc-framework-SyncServices (2.3.2a0)
pyobjc-framework-SystemConfiguration (2.3.2a0)
pyobjc-framework-WebKit (2.3.2a0)
pyobjc-framework-XgridFoundation (2.3.2a0)
pyOpenSSL (0.12)
PyRSS2Gen (1.0.0)
pysqlite (2.6.3)
python-dateutil (1.5)
requests (1.2.3)
Warning: cannot find svn location for setuptools==0.6c12dev-r85381
setuptools (0.6c12dev-r85381)
Twisted (11.0.0)
vboxapi (1.0)
wsgiref (0.1.2)
xattr (0.6.1)
zope.interface (3.5.1)

答案1

如果你看一下离线IMAP软件有一个文件名为LocalStatusSQLiteFolder.py.该文件中有一个类定义:LocalStatusSQLiteFolder,具有以下方法__init__

def __init__(self, name, repository):
        super(LocalStatusSQLiteFolder, self).__init__(name, repository)       
        # dblock protects against concurrent writes in same connection
        self._dblock = Lock()
        #Try to establish connection, no need for threadsafety in __init__
        try:
            self.connection = sqlite.connect(self.filename, check_same_thread = False)
        except NameError:
            # sqlite import had failed
            raise UserWarning('SQLite backend chosen, but no sqlite python '
                              'bindings available. Please install.')

这就是抛出您所看到的异常消息的原因。

解决方案?

浏览 OfflineIMAP 网站,我发现了这个页面,标题为:离线IMAP手册。具体在本节中:同步性能,该模块python-sqlite被提及为必需的。还有关于如何设置此功能的指南,我会通读该材料并确保您按照其中规定的方式进行操作。

相关内容