mojaie.github.io

pyenvでlzmaがない警告 (MacOS)

Last modified: August 22, 2022

環境

  • MacOS Monterey 12.5.1
  • pyenv 2.3.3
  • Python 3.10.6

現象

pyenvでpython 3.10.6をインストール

pyenv install 3.10.6

以下出力。lzma libがないのでは?というwarningが出る。

python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.10.6.tar.xz...
-> https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
Installing Python-3.10.6...
python-build: use tcl-tk from homebrew
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
WARNING: The Python lzma extension was not compiled. Missing the lzma lib?
Installed Python-3.10.6 to /Users/hogehoge/.pyenv/versions/3.10.6

解決

公式トラブルシューティング
https://github.com/pyenv/pyenv/wiki

brew install openssl readline sqlite3 xz zlib tcl-tk

これらは既に最新版がインストールされている。xzがlzmaに相当するものだが、どうもビルドの時にlzmaのincludeとlibが認識されていないようである。

Problem with lzma module #28219
https://github.com/pyenv/pyenv/issues/1800

一旦pyenv uninstallしてから、上記issueのコメント通りCFLAGSとLDFLAGSを指定して再インストールすると警告が表示されなくなった。

CFLAGS="-I$(brew --prefix xz)/include" LDFLAGS="-L$(brew --prefix xz)/lib" pyenv install 3.10.6

Author: Seiji Matsuoka