Linuxコマンドの調べ方

linuxMac OS を触り始めた友人から、コマンドの一覧を調べるコマンドないの?

と聞かれて調べたときのメモ.

bashの組み込みコマンド

$ bash -c help

cd コマンドや pwd コマンドなどの bash の組み込みコマンドを調べるときには bash のヘルプを確認する.

自分で設定したエイリアス

$ alias

alias コマンドで確認する.

その他の実行可能な形式のコマンド

$ for cmd in ${PATH//:/ }; do ls -1 $cmd; done | sort | uniq

上記 2 つ以外のコマンドはこれで確認できるはず.

【Mac】pythonをインストールするときにzipimport.ZipImportError: zlib not available

pyenvでpython3.6.5をインストールする際にタイトルにあるようなエラーがでて怒られたのでその際の対処法のメモ

環境

OS : MacOS Mojave 

homebrew : 1.7.7

エラーの内容

Traceback (most recent call last): File "/private/var/folders/37/n_9qx5n15493wlz5cbbzt2fw0000gq/T/python-build.20181017165821.27141/Python-3.6.6/Lib/ru npy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "/private/var/folders/37/n_9qx5n15493wlz5cbbzt2fw0000gq/T/python-build.20181017165821.27141/Python-3.6.6/Lib/ru npy.py", line 85, in _run_code exec(code, run_globals) File "/private/var/folders/37/n_9qx5n15493wlz5cbbzt2fw0000gq/T/python-build.20181017165821.27141/Python-3.6.6/Lib/en surepip/__main__.py", line 5, in <module> sys.exit(ensurepip._main()) File "/private/var/folders/37/n_9qx5n15493wlz5cbbzt2fw0000gq/T/python-build.20181017165821.27141/Python-3.6.6/Lib/en surepip/__init__.py", line 204, in _main default_pip=args.default_pip, File "/private/var/folders/37/n_9qx5n15493wlz5cbbzt2fw0000gq/T/python-build.20181017165821.27141/Python-3.6.6/Lib/en surepip/__init__.py", line 117, in _bootstrap return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths) File "/private/var/folders/37/n_9qx5n15493wlz5cbbzt2fw0000gq/T/python-build.20181017165821.27141/Python-3.6.6/Lib/en surepip/__init__.py", line 27, in _run_pip import pip._internal zipimport.ZipImportError: can't decompress data; zlib not available make: *** [install] Error 1

対処法

MacOSでzlibがないときにはcommand line developer tools を導入のあたりが原因であることが多いみたいなので、 xcode-select --install を行う.

$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates

すでに入っていたため別のことが原因らしい.

brew doctorやbrew install zlibでzlibのインストールを行ってみたけどエラーが消えませんでした.

High Sierraまでは上記の方法でかいけつできるようです. しかし, MojaveではmacOS SDK headerが現在デフォルトで入っていないようなので, マニュアルで導入する必要があるようです.

macos - Brew install on Mojave - Stack Overflow

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

上記のコマンドで導入するとpythonをインストールすることができるようになりました.