Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't fix "zipimport.ZipImportError: can't decompress data; zlib not available" when I type in "python3.6 get-pip.py"

I was trying to install Django. Turns out that course's teacher said that we will be working with Python 3.6 I install Python 3.6. Now it's my default, it somewhat replaced the last version I had; which is Python 3.5. Everything ok until that. But when I want to install Django doing "pip3 install django", it tells me that the module is already satisfied and therefore installed.

I run "python3" command into my terminal. It runs Python 3.6. I try to import Django, and boom... "No module named 'django'".

Then I realized pip3 was actually installing my modules into Python 3.5 and not 3.6. So what I do is to install pip in Python 3.6.

I download get-pip.py and proceed to execute it with Python 3.6 typing in "python3.6 get-pip.py".

Here is when the damn "zipimport.ZipImportError: can't decompress data; zlib not available" goes in. I've tried a ton of things and no one of them fixed the %^$! problem. I'm really tired.

What I have already tried: python3.6 -m pip install django, which output is "/usr/local/bin/python3.6: No module named pip"

apt install zlib, which output is "E: Unable to locate package zlib"

apt install zlib1g-dev, which says that it's already installed; the problem persists though.

like image 663
Martín Nieva Avatar asked Jul 12 '19 01:07

Martín Nieva


3 Answers

I also came across this problem (while creating a simple installer for pyenv). Here's how I solved it for Mac and Linux:

Ubuntu 20.04, 18.04

You need the zlib development files, and probably zlib itself too:

sudo apt install -y zlib1g-dev zlibc

If you're missing zlib, it's likely that the next problem you'll run into is with openssl, so it's probably best to get that now as well:

sudo apt install -y libssl-dev
sudo apt install -y libssl1.1 || sudo apt install -y libssl1.0

macOS

I believe this comes with XCode CLI Tools (or at least I didn't have to custom install it Big Sur):

xcode-select --install
like image 169
coolaj86 Avatar answered Oct 16 '22 19:10

coolaj86


For me it worked in RHEL: $ yum install zlib-devel

like image 25
Jitendra Kumar Avatar answered Oct 16 '22 18:10

Jitendra Kumar


Suggested solutions (installing zlib1g-dev or zlib-devel) seem to resolve the issue in most cases. Here is one edge case I've encountered recently: whatever you are trying to run might use zlib via symlink which might be broken.

In my case I was trying to run a build of a 3rd-party software which already had python and all necessary libs being emebedded into it. It was packaged as a tar.gz archive. Unpacking the archive on a Windows machine and then copying the contents to another linux machine destroyed all the symlinks (if you do ls -l in a folder with symlinks you would see that all of them have size 0 and do not point to anything). Copying tar.gz to the linux machine directly and unpacking it there resolved the issue.

P.S. I know it's an edge case scenario but it took me and one more developer quite a while to figure it out so I think it's worth mentioning here, just in case someone gets as unlucky as I got.

like image 2
QuteBits Avatar answered Oct 16 '22 19:10

QuteBits