1

Whenever I run OfflineIMAP v6.5.3.1 I get an error for every folder (i.e. tag and folder in Gmail) which tells me there was a problem and then right after it tells me:

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

This happens for every folder/tag so it's a long error list.

What is causing this? I am on Mac OS X 10.7 and I have installed sqlite with brew install sqlite, I've also tried pip install pysqlite. Of course I have both Python 2.7 and Python 3 installed (brew install python python3). So Python 2.7 is accessed using python and Python 3 is accessed using python3. Think that's the problem maybe?

Any help is appreciated. :)

P.S.: It's the only error it gives me so it seems my config file is OK.

EDIT: List of Python modules:

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)
Gilles 'SO- stop being evil'
  • 807,993
  • 194
  • 1,674
  • 2,175
greduan
  • 503
  • 1
  • 10
  • 24
  • If I can't get this working I guess I'll have to go with the file based option? So that it saves my emails in plain text files instead of SQLite files. – greduan Sep 18 '13 at 16:07

1 Answers1

1

If you take a look at the OfflineIMAP software there is a file called LocalStatusSQLiteFolder.py. In this file is a class definition: LocalStatusSQLiteFolder, with the following method, __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.')

This is what's throwing the exception message you're seeing.

Solution?

Looking through the OfflineIMAP website I found this page, titled: OfflineIMAP Manual. Specifically in this section: Synchronization Performance, the module python-sqlite is mentioned as being required. Also there is a guide on how to set this feature up, I'd read through that material and make sure you're doing things as prescribed there.

slm
  • 363,520
  • 117
  • 767
  • 871
  • I've Googled a lot, and I have read that part of the manual, but that's the *only* mention I see of `python-sqlite` in that manual, and everywhere else they mention the packages I mentioned. Could you please point me to the guide on how to setup `python-sqlite` up? Because I can't seem find it. Thanks. :) – greduan Sep 19 '13 at 01:35
  • @Greduan - can you include a list of the python modules? `pip list`. Looking through the source I see `sqlite3` so I'm gonna make the jump that they *meant* sqlite3. – slm Sep 19 '13 at 11:24
  • All right, edited question to contain output of `pip list`. I don't have the `sqlite3` one, I'll install that one and try again... – greduan Sep 19 '13 at 15:00
  • @Greduan - I think that's the one, there may be other modules related to sqlite3 that need installation as well. – slm Sep 19 '13 at 15:03
  • All right. Updated to latest version and running into problems with the SSL certificate, so it may take a while until I report back. – greduan Sep 19 '13 at 16:27
  • @Greduan - OK, at least we're making progress 8-) – slm Sep 19 '13 at 16:50
  • OK back, had to downgrade since I couldn't get the SSL certificate working. OK so it seems there's no pip package for `sqlite` or `sqlite3`. I've run `brew install sqlite` and it installs but that still doesn't seem to solve the problem... Guess I will have to go with a text file backend huh? – greduan Sep 19 '13 at 17:39