No module named zlib found

2019-02-17 14:29发布

问题:

I download python2.6.6 source form http://www.python.org/getit/releases/2.6.6/ After that I run these commands ./configure make

I tried to import zlib but it says no module named zlib. How can install zlib module for it

After I tried installing python2.6.8 I got same error no zlib. While installing it I got below error

Failed to find the necessary bits to build these modules:

_bsddb             _curses            _curses_panel   
_hashlib           _sqlite3           _ssl            
_tkinter           bsddb185           bz2             
dbm                dl                 gdbm            
imageop            linuxaudiodev      ossaudiodev     
readline           sunaudiodev        zlib            

To find the necessary bits, look in setup.py in detect_modules() for the module's name.

Failed to build these modules:

crypt              nis   

回答1:

I tried following which helped me with some of these modules.
You have to edit setup.py.
Find the following lines in setup.py:

lib_dirs = self.compiler.library_dirs + [
   '/lib64', '/usr/lib64',
   '/lib', '/usr/lib',
   ]

For 64 bit
Add /usr/lib/x86_64-linux-gnu:

lib_dirs = self.compiler.library_dirs + [
   '/lib64', '/usr/lib64',
   '/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu',
   ]

For 32 bit
Add /usr/lib/i386-linux-gnu:

lib_dirs = self.compiler.library_dirs + [
   '/lib64', '/usr/lib64',
   '/lib', '/usr/lib', '/usr/lib/i386-linux-gnu',
   ]

Note x86_64-linux-gnu & i386-linux-gnu might be located somewhere else in your system so path accordingly.

Ater this you will be left with only following modules:

_bsddb             bsddb185           dbm             
gdbm               sunaudiodev  


回答2:

I solved the problem adding LDFLAGS=-L/usr/lib/x86_64-linux-gnu as configure parameter.



回答3:

I wrote a note for myself addressing your problem, might be helpful: python installation.

Do you really need bsddb and sunaudiodev modules? You might not want to since both are deprecated since python 2.6



回答4:

I had this exact problem (exact python distribution as well) Dmity's answer almost worked... but after many hours searching I think I have found the issue (assuming you are using ubuntu 11.10 - 12.10)

Ok, so for me at least the problem stemmed from the fact that Ubuntu disabled SSLv2, so the workaround is fairly involved. Basically you have to delve into the source code and remove all references to SSLv2 before you build it, in addition to adding library paths to your setup file. I followed this tutorial and now I have a working virtualenv with python-2.6.8:

http://ubuntuforums.org/showthread.php?t=1976837

(The patches are fairly easy to implement without using patch) Hope this helps clear up the issues. PHEW