pyenvインストール時のエラー(phpenv rbenv)
目次
よくpyenvを使ってpythonをインストールする際にあれがないこれがないとエラーが出るのですが、都度都度対応していることが多いので、記載しておきます。
そもそもインストールしているもの
anyenvではビルドがあるので、以下をインストール。
- gcc
- make
エラー内容
pyenv install 3.7.3
Last 10 log lines:
sys.exit(ensurepip._main())
File "/tmp/python-build.20190523080604.16162/Python-3.7.3/Lib/ensurepip/__init__.py", line 204, in _main
default_pip=args.default_pip,
File "/tmp/python-build.20190523080604.16162/Python-3.7.3/Lib/ensurepip/__init__.py", line 117, in _bootstrap
return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
File "/tmp/python-build.20190523080604.16162/Python-3.7.3/Lib/ensurepip/__init__.py", line 27, in _run_pip
import pip._internal
zipimport.ZipImportError: can't decompress data; zlib not available
Makefile:1130: recipe for target 'install' failed
make: *** [install] Error 1
zlib-devがない入れましょう。
sudo apt install zlib1g-dev
pyenv install 3.7.3
Last 10 log lines:
File "/tmp/tmp091zhsko/pip-19.0.3-py2.py3-none-any.whl/pip/_internal/commands/__init__.py", line 6, in <module>
File "/tmp/tmp091zhsko/pip-19.0.3-py2.py3-none-any.whl/pip/_internal/commands/completion.py", line 6, in <module>
File "/tmp/tmp091zhsko/pip-19.0.3-py2.py3-none-any.whl/pip/_internal/cli/base_command.py", line 20, in <module>
File "/tmp/tmp091zhsko/pip-19.0.3-py2.py3-none-any.whl/pip/_internal/download.py", line 37, in <module>
File "/tmp/tmp091zhsko/pip-19.0.3-py2.py3-none-any.whl/pip/_internal/utils/glibc.py", line 3, in <module>
File "/tmp/python-build.20190523084010.28195/Python-3.7.3/Lib/ctypes/__init__.py", line 7, in <module>
from _ctypes import Union, Structure, Array
ModuleNotFoundError: No module named '_ctypes'
Makefile:1130: recipe for target 'install' failed
make: *** [install] Error 1
sudo apt install libffi-dev
そして、次は警告
pyenv install 3.7.3
WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?
WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?
WARNING: The Python sqlite3 extension was not compiled. Missing the SQLite3 lib?
sudo apt install libbz2-dev libreadline-dev libsqlite3-dev
pyenv install 3.7.3
Installing Python-3.7.3...
Installed Python-3.7.3 to /home/luna/.anyenv/envs/pyenv/versions/3.7.3
つまり
- libffi-dev
- libbz2-dev
- libreadline-dev
- libsqlite3-dev
dockerでそろえるならば、Dockerfileに書くかやbaseイメージにあるからいいのだけど。(後でSBC用のAnsibleの中に突っ込んでおこう)
ついでにphpenvも
- libxml2-dev
- bison
- curl
- libcurl4-openssl-dev
- libzip-dev
- libjpeg-dev
- libpng-dev
- re2c
- libxml2-dev
- libssl-dev
- libtidy-dev
- libxslt-dev
- libmcrypt-dev
- autoconf
- automake
ついでに rubyも
よく記事を見ると上でパッケージ入れているからそのままでもいいっぽい。