pyenv install エラー
間違っている場所あったら優しく教えてね
pyenv install しようとしたら ZipImportError が出てしまった
$ pyenv install 3.7.2 ~~省略 zipimport.ZipImportError: can't decompress data; zlib not available ~~省略
このように.ZipImportErrorが出てしまった.
zlibとは
Wikipediaさんが紹介してくれている.
簡単に要約すると, いろんな言語で使えるデータを圧縮したり伸張したりしてくれるフリーライブラリです
これを読むと zlib で圧縮したものをインストールしたいかインストールしてから圧縮したいのかなってお気持ちになります.
とりあえず zlib が必要とわかったので install をします.
ここ参考
$ brew install zlib Updating Homebrew... ~~省略~~ ==> Downloading https://homebrew.bintray.com/bottles/zlib-1.2.11.mojave.bottle.t ######################################################################## 100.0% ==> Pouring zlib-1.2.11.mojave.bottle.tar.gz ==> Caveats zlib is keg-only, which means it was not symlinked into /usr/local, because macOS already provides this software and installing another version in parallel can cause all kinds of trouble. For compilers to find zlib you may need to set: export LDFLAGS="-L/usr/local/opt/zlib/lib" export CPPFLAGS="-I/usr/local/opt/zlib/include" ==> Summary 🍺 /usr/local/Cellar/zlib/1.2.11: 12 files, 373KB ==> `brew cleanup` has not been run in 30 days, running now...
brewについて何もわかっていないので調べておきたい.
言われた通りの行動をしよう
export LDFLAGS="-L/usr/local/opt/zlib/lib" export CPPFLAGS="-I/usr/local/opt/zlib/include"
この2文を.bash_profile
に書き込みました.source .bash_profile
を行なってからもう一度インストールに挑戦
$ pyenv install 3.7.2 ~~省略 Installing Python-3.7.2... ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib? Please consult to the Wiki page to fix the problem. https://github.com/pyenv/pyenv/wiki/Common-build-problems BUILD FAILED (OS X 10.14.3 using python-build 1.2.9-25-gaefff77b) Inspect or clean up the working tree at /var/folders/z8/mqt9mtjs4012xl0vkhfk8v480000gn/T/python-build.20190325223953.43867 Results logged to /var/folders/z8/mqt9mtjs4012xl0vkhfk8v480000gn/T/python-build.20190325223953.43867.log Last 10 log lines: install|*) ensurepip="" ;; \ esac; \ ./python.exe -E -m ensurepip \ $ensurepip --root=/ ; \ fi Looking in links: /var/folders/z8/mqt9mtjs4012xl0vkhfk8v480000gn/T/tmpl24b01m6 Collecting setuptools Collecting pip Installing collected packages: setuptools, pip Successfully installed pip-18.1 setuptools-40.6.2
最後にSuccessfullyが見えたと思ったらエラーメッセージがでていた..
こちらを参考にしてどうにかする
opensslとは
おきまりのWikipediaさんの登場.
要約するとプロトコル関係のソフトウェア.
ボクなりに解釈すると , 渡された暗号を解析する便利道具.
そりゃなきゃ解読できないわけですよね
$ $ brew install readline xz Updating Homebrew... ==> Downloading https://homebrew.bintray.com/bottles/readline-8.0.0.mojave.bottl ######################################################################## 100.0% ==> Pouring readline-8.0.0.mojave.bottle.tar.gz ==> Caveats readline is keg-only, which means it was not symlinked into /usr/local, because macOS provides the BSD libedit library, which shadows libreadline. In order to prevent conflicts when programs look for libreadline we are defaulting this GNU Readline installation to keg-only. For compilers to find readline you may need to set: export LDFLAGS="-L/usr/local/opt/readline/lib" export CPPFLAGS="-I/usr/local/opt/readline/include" ==> Summary 🍺 /usr/local/Cellar/readline/8.0.0: 48 files, 1.5MB ==> Downloading https://homebrew.bintray.com/bottles/xz-5.2.4.mojave.bottle.tar. ######################################################################## 100.0% ==> Pouring xz-5.2.4.mojave.bottle.tar.gz 🍺 /usr/local/Cellar/xz/5.2.4: 92 files, 1MB ==> Caveats ==> readline readline is keg-only, which means it was not symlinked into /usr/local, because macOS provides the BSD libedit library, which shadows libreadline. In order to prevent conflicts when programs look for libreadline we are defaulting this GNU Readline installation to keg-only. For compilers to find readline you may need to set: export LDFLAGS="-L/usr/local/opt/readline/lib" export CPPFLAGS="-I/usr/local/opt/readline/include"
2回繰り返した??かと思ったらbrew install
コマンドでreadline
とxz
の二つをinstallしていたというお話だ.
確認確認焦らず確認
$ brew list readline xz zlib
インストールの成功です.
言われた通りに.bash_profile
に以下の2行を付け加えます.
export LDFLAGS="-L/usr/local/opt/readline/lib" export CPPFLAGS="-I/usr/local/opt/readline/include"
じゃけんもう一度pyenv install
じゃ
$ pyenv install 3.7.2 BUILD FAILED (OS X 10.14.3 using python-build 1.2.9-25-gaefff77b) Inspect or clean up the working tree at /var/folders/z8/mqt9mtjs4012xl0vkhfk8v480000gn/T/python-build.20190325231516.84549 Results logged to /var/folders/z8/mqt9mtjs4012xl0vkhfk8v480000gn/T/python-build.20190325231516.84549.log Last 10 log lines: File "/private/var/folders/z8/mqt9mtjs4012xl0vkhfk8v480000gn/T/python-build.20190325231516.84549/Python-3.7.2/Lib/ensurepip/__main__.py", line 5, in <module> sys.exit(ensurepip._main()) File "/private/var/folders/z8/mqt9mtjs4012xl0vkhfk8v480000gn/T/python-build.20190325231516.84549/Python-3.7.2/Lib/ensurepip/__init__.py", line 204, in _main default_pip=args.default_pip, File "/private/var/folders/z8/mqt9mtjs4012xl0vkhfk8v480000gn/T/python-build.20190325231516.84549/Python-3.7.2/Lib/ensurepip/__init__.py", line 117, in _bootstrap return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths) File "/private/var/folders/z8/mqt9mtjs4012xl0vkhfk8v480000gn/T/python-build.20190325231516.84549/Python-3.7.2/Lib/ensurepip/__init__.py", line 27, in _run_pip import pip._internal zipimport.ZipImportError: can't decompress data; zlib not available make: *** [install] Error 1
エラー内容が最初に戻ってしまいました.
なぜかというと.bash_profile
のなかで環境変数LDFLAGS
を今まではzlibに指定したのに今回readline
に変更してしまったからです.
export LDFLAGS="-L/usr/local/opt/readline/lib:${LDFLAGS}" export CPPFLAGS="-I/usr/local/opt/readline/include:${CPPFLAGS}"
.bash_profile
を上の文変えてみました.ダメみたいでした.
zipimport.ZipImportError: can't decompress data; zlib not available
/Library/Developer/CommandLineTools/Packagesの中にあった.pkg
ファイルをダウンロードします.インストールが完了しました.もう一度試してみましょう.
$ pyenv install 3.7.2 ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
またエラーが戻ってきました こちらのサイトを参考に