I have compiled and installed python 2.7 on my ubuntu lucid.
But I am unable to install setuptools for python 2.7 because the data decompression module zlib is not present. This is the exact error:

 Traceback (most recent call last):
  File "setup.py", line 94, in <module>
    scripts = scripts,
  File "/usr/local/lib/python2.7/distutils/core.py", line 152, in setup
  File "/usr/local/lib/python2.7/distutils/dist.py", line 953, in run_commands
  File "/usr/local/lib/python2.7/distutils/dist.py", line 972, in run_command
  File "/home/rohan/setuptools-0.6c11/setuptools/command/install.py", line 76, in run
  File "/home/rohan/setuptools-0.6c11/setuptools/command/install.py", line 96, in do_egg_install
  File "/usr/local/lib/python2.7/distutils/cmd.py", line 326, in run_command
  File "/usr/local/lib/python2.7/distutils/dist.py", line 972, in run_command
  File "/home/rohan/setuptools-0.6c11/setuptools/command/bdist_egg.py", line 236, in run
    dry_run=self.dry_run, mode=self.gen_header())
  File "/home/rohan/setuptools-0.6c11/setuptools/command/bdist_egg.py", line 527, in make_zipfile
    z = zipfile.ZipFile(zip_filename, mode, compression=compression)
  File "/usr/local/lib/python2.7/zipfile.py", line 651, in __init__
    "Compression requires the (missing) zlib module"
RuntimeError: Compression requires the (missing) zlib module

Also when i try to use setuptools 2.7 .egg, it gives this error:

Traceback (most recent call last):
File "<string>", line 1, in <module>
zipimport.ZipImportError: can't decompress data; zlib not available

You forgot to install zlib1g-dev before building Python.

first install the companents with the following command

yum install zlib
yum install zlib-devel

then remake python

make install

Please install this before proceeding.

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libreadline-dev libbz2-dev libsqlite3-dev wget curl llvm libncurses5-dev

Pyenv – Common build problems

for debian

sudo apt-get install zlib1g-dev

then run in your python folder

make install 

My solution to this problem is slightly different only because I was trying to install python on a remote computer which I cannot access as a root user AND has no access to the internet. Here is my slightly modified solution:

  1. Extract python (ie: tar -xzf Python-3.6.4.tgz)
  2. Make a directory to house the local python (ie: mkdir localpy)
  3. Navigate into the Modules/zlib folder in the extracted python directory (ie: cd ./Python-3.6.4/Modules/zlib)
  4. Configure zlib locally (ie: ./configure –prefix=’/usr/h/testing/localpy’ )
  5. Make and install zlib (make install)
  6. Naviage back to the extracted python folder (ie: cd ../../ )
  7. Configure python locally and point to zlib (ie: ./configure –prefix=’/usr/h/testing/localpy’ –with-zlib=’/usr/h/testing/localpy’)
  8. Make python (ie: make)
  9. Install python (ie: make install)

This may not work for everyone, but it worked for me today.