MACで作業中に同じエラーが発生しました
私のMAC OSのバージョン
$ uname -v
Darwin Kernel Version 13.4.0: Sun Aug 17 19:50:11 PDT 2014; root:xnu-2422.115.4~1/RELEASE_X86_64
ここではpython3.4を使用
問題)
python3.4 を使用している間は zlib を使用できません
$ python3.4 get-pip.py トレースバック (最新の呼び出しが最後): ファイル "get-pip.py"、20204 行目、main() ファイル "get-pip.py"、152 行目、メイン ブートストラップ (tmpdir) =tmpdir) ファイル "get-pip.py"、82 行目、ブートストラップ インポート pip zipimport.ZipImportError: データを解凍できません。zlib は利用できません
Python の再構築が失敗する
./configure --with-zlib-dir=/usr/local/lib
... 構成: 警告: 認識されないオプション: --with-zlib-dir ...
解決
zlib がインストールされていることを確認します。デフォルトでは /usr/lib にインストールされます
ls /usr/lib/libz.*
インストールされていない場合は、i) zlib.net サイトから、または ii) 以下のような git リポジトリからダウンロードしてインストールします。
git clone https://github.com/madler/zlib.git
またはiii)。Python ソース ディレクトリ Modules/zlib にある zlib ソースを使用します。
b. zlib をインストールする
./configure --prefix=/usr/local
make
sudo make install
2.「#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz」の下の行のコメントを外して、/Module/Setup を編集します。
3.Python3.4をソースから再ビルドする
cd ${PYTHON_SRC_CODE_DIR}
./configure --prefix=${PYTHON_HOME_DIR}
make
sudo make install
4.インストールの確認 gzip は zlib に依存することに注意してください。
nbr_repeation=100
f=open("some_file.txt","at")
for line in range(nbr_repeation):
print('[{}] This file will be compressed using python zlib/gzipmodule'.format(line),file=f)
f.close()
f=open("some_file.txt","rt")
import gzip
gz=gzip.open('some_file.gz', 'wt')
for line in f : gz.write(line)
gz.close() # Like to be clean exit
f.close() # Like a clean exit
"""confirm the creation of the compressed gzip files"""
import os
print([ (file,os.stat(file)[6],"bytes") for file in os.listdir(".") if file.startswith("some")])