So previously I’d posted about getting Python 3.1 installed from source on OS X. This time I’ll be talking about installing Python 3.1.3 on Debian Linux 5.x lenny.
Although this guide is specific to Debian lenny it should be applicable to other Linux distros’ based on Debian such as Ubuntu and can probably be adapted to work on other distros’.
First you’ll need to download the Python source code, you can do so by following this link. Python 3.1.3
You can also download and uncompress the file by running the following commands from the terminal
debian:/# wget http://www.python.org/ftp/python/3.1.3/Python-3.1.3.tar.bz2
debian:/# tar -xvf ./Python-3.1.3.tar.bz2
To build programs from source you’ll need to install gcc and associated files which can be done as follows;
debian:/# apt-get install build-essential
The first time I tried to compile the Python source-code I was presented with the following output….
Python build finished, but the necessary bits to build these modules were not found:
_curses _curses_panel _dbm
_gdbm _hashlib _sqlite3
_ssl _tkinter bz2
readline zlib
To find the necessary bits, look in setup.py in detect_modules() for the module’s name.
I should expect on most fairly default installs of Debian you’ll also be missing the same components. If you wanted you could run Python as it is but you’ll be missing many important features.
If you follow the rest of this guide I’ll show you how to install all the required files for a fully featured Python build.
To install the missing components you should run the following from the terminal;
debian:/# apt-get install zlib1g-dev libncurses5-dev libreadline5-dev libssl-dev libbz2-dev libsqlite3-dev tk-dev libgdbm-dev
Now you have all the required components we can try to compile the code.
Navigate through to the directory where you extracted the Python files and run the following.
debian:/#./configure && make && make install
If everything has gone well Python 3.1.3 should now be compiled and installed.
you can run the Python interpreter by running the following;
debian:/#python3
I hope this guide has been helpful. Happy coding.
Just posting to say that the above guide is also as of writing applicable to the latest development branch, 3.2rc2.
I’ve posted an updated guide with info on how to use the ‘altinstall’ feature to install the development branch along side without disrupting your stable install of Python.
You can read that guide here…. http://retrop.wordpress.com/2011/02/06/python-on-debian-from-sourcecode-update-altinstalling-development-branch-3-2-rc2/
I have corrected this article. One of the required libraries should be written ‘libgdbm-dev’ and not ‘libgdm-dev’.
Thanks man!
ImportError: no module name md5
ImportError: no module named hashlib
Why ?
I’ve got no where near enough information to help you here.
Did you receive errors when compiling Python that you were missing additional libraries over and above the ones mentioned in this article? Specifically MD5 and Hashlib?
John
P.s. I think you may be missing OpenSSL libraries.