Problem running on CentOS 5.5


Installed bleachbit using the lastest version for CentOS. When trying to run from gnome, no app pops up. I kick off on the command line and get the following error:

info: starting BleachBit version 0.8.7
debug: locale_dir = '/usr/share/locale'
Traceback (most recent call last):
File "/usr/bin/bleachbit", line 42, in ?
import bleachbit.GUI
File "./", line 40, in ?
File "./", line 40, in ?
File "./", line 32, in ?
ImportError: No module named sqlite3

Haven't done much to this CentOS box except added the rpmforge repo and a couple minor extras that shouldn't be causing problems. Any help would be appriciated.

Did you compile Python or SQLite yourself? Is this CentOS 5.5? Do you have Python version 2.4.3? Try running these commands from a terminal:

rpm -q python
cat /etc/*release
python -V

And please copy the results and paste into a message.

Andrew, lead developer

Did not compile python or sqlite myself. It is CentOS 5.5. Python is 2.4.3-27.el5_5.3 as verified my the rpm query command. Here are the acutal results from the query commands:

[root@CentOS1 share]# rpm -q python
[root@CentOS1 share]# cat /etc/*release
CentOS release 5.5 (Final)
[root@CentOS1 share]# python -V
Python 2.4.3

Sorry, BleachBit 0.8.7 requires Python 2.5, 2.6, or 2.7. At least one of the reasons is that Python added the sqlite3 module in Python 2.5 when Python 2.5 was released 5 years ago in 2006.

Some options

  1. You might be able to hack the BleachBit code, remove some functionality, and make it work, but that is not supported.
  2. Look for an old version of BleachBit that doesn't have this requirement, but I'm not sure how far back you will have to go, and some old versions have ugly bugs
  3. If you are on a network, you can run BleachBit from another computer to clean the same /home directory

Andrew, lead developer

Thanks for the help. I am curious about something. If CentOS comes with python 2.4 (can't update it or it will break yum) then why release a version of bleachbit for CentOS? Are you assuming some people will run dual versions of python? I have looked into this but not sure if I wanted the hassle of fixing yum if it broke. Thanks again.

Good point, so I will remove it. However, there are ways of installing on CentOS a newer version of Python in parallel. Fedora 14, for example, has Python 2.x and 3.x which install in parallel from the same repo, so even if there is not a newer Python in the CentOS repo, you can find it or build it.

Andrew, lead developer

Hang on a sec there. I would leave it. I am sure there are some people that are experienced enough to run dual phyon versions without any problems. Maybe in the installation section you could mention that the CentOS version won't run with the default python and warn of the possible yum breakage from installing a new version of python.

I'd rather start by having someone test it and tell me it works (and preferably how). Also if someone has the skills to do this, he can probably also build the RPM or figure out how to get an RPM for another distro to work. (It's possible one of the Fedora RPMs would work on CentOS if CentOS had a recent Python.)

One thing I am not sure about yet is how PyGTK would work... it might need to be upgraded too.

Andrew, lead developer

[~/bleachbit-0.8.7]# python
info: starting BleachBit version 0.8.7
debug: locale_dir = '/root/bleachbit-0.8.7/locale'
Traceback (most recent call last):
File "", line 42, in ?
import bleachbit.GUI
File "/root/bleachbit-0.8.7/bleachbit/", line 40, in ?
from Cleaner import backends
File "/root/bleachbit-0.8.7/bleachbit/", line 40, in ?
import Command
File "/root/bleachbit-0.8.7/bleachbit/", line 32, in ?
from sqlite3 import DatabaseError
ImportError: No module named sqlite3
[~/bleachbit-0.8.7]# python26
Traceback (most recent call last):
File "", line 41, in
import gtk
ImportError: No module named gtk
[~/bleachbit-0.8.7]# cd ../pygtk-2.24.0
[~/pygtk-2.24.0]# PYTHON=/usr/bin/python26
[~/pygtk-2.24.0]# ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for bind_textdomain_codeset... yes
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for some Win32 platform... no
checking for native Win32... no
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 98304
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating ./ creating libtool
checking whether /usr/bin/python26 version >= 2.3.5... yes
checking for /usr/bin/python26 version... 2.6
checking for /usr/bin/python26 platform... linux2
checking for /usr/bin/python26 script directory... ${prefix}/lib/python2.6/site-packages
checking for /usr/bin/python26 extension module directory... ${exec_prefix}/lib/python2.6/site-packages
checking for headers required to compile python extensions... found
checking for PySignal_SetWakeupFd in Python.h... yes
checking for python module thread... yes
checking whether to enable threading in pygtk... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.16... yes
checking for GLIB - version >= 2.8.0... no
*** Could not run GLIB test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GLIB is incorrectly installed.
configure: error: gobject is required to build pygtk?

Going to revert to previous release of bleachbit until this is sorted out.

Bleachbit 0.8.6 has same error as 0.8.7.
Which bleachbit runs on the native 2.4 which ships with CentOS 5.5???

No, for a long time BleachBit has required Python 2.5 - 2.7. Also, it's not necessarily to post the same question 4 times, so I will delete some of your posts.

Andrew, lead developer

I downloaded 0.5.4 from and installed it, and it worked on my centos5.5 machine. I'm not sure what the latest version is that works on centos5.5 though.

You can also try poke around here for old releases

Andrew, lead developer

Yeah, I bet that you just have to install "sqlite3" from your package manager system, yum. Learn about yum here: