macOS環境にHomebrewおよびコマンドラインツール群をインストールする方法をまとめます。Cisco DevNetの学習を行うには、git, python3, python2あたりをよく使います。これらを手早くインストールするには、macOSのパッケージ管理システムであるHomebrewを使うのが良いでしょう。
Home brewのインストール
xcodeのインストール
Homebrewはxcodeを前提としている事があります。不要なトラブルを避ける意味でも、xcodeをインストールしておくのが無難です。お好みのターミナルソフトで以下コマンドを投入します。
xcode-select --install
もし、xcodeをインストール済みであった方の場合は、以下のような出力になるかと思われます。
mac19gokateigo% xcode-select --install xcode-select: error: command line tools are already installed, use "Software Update" to install updates
Homebrewのインストール
Homebrewの公式サイトに行き、Homebrewのインストール方法を調べます。
現時点(2020年8月)のインストール方法は以下の通りです。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
パッケージ群の整備
Gitインストール
Cisco CCNA DevNetの学習ではGitをよく使用します。Gitはxcodeインストールと同時に導入されているため、明示的なインストール操作は不要です。それではGitが使える事を確認してみましょう。
mac19gokateigo% git --version git version 2.20.1 (Apple Git-117)
動作確認としてリポジトリのクローンが可能な事も確かめておきましょう。
mac19gokateigo% git clone https://github.com/CiscoDevNet/dne-dna-code Cloning into 'dne-dna-code'... remote: Enumerating objects: 1504, done. remote: Total 1504 (delta 0), reused 0 (delta 0), pack-reused 1504 Receiving objects: 100% (1504/1504), 2.49 MiB | 2.09 MiB/s, done. Resolving deltas: 100% (751/751), done.
Pythonインストール
brewコマンドを使用してpython2とpython3を導入します。
brew install python
python2とpython3が使用可能である事を確認します。
mac19gokateigo% python --version Python 2.7.10 mac19gokateigo% python3 --version Python 3.8.5
Python3 venvの動作確認
Pythonはvenvと呼ばれる機能を使うと、Pythonの仮想的な実行環境を作る事ができます。この実行環境を複数作る事ができれば、機能別にPython実行環境を作ったり、段階的なバージョンアップを実現できたりします。
それではvenvが使用できるかどうか動作確認してみましょう。
まずは何らかの名前でvenvの環境を作ります。以下コマンドは環境名をpy3-sampleとしていますが、名前は好きなものにして差支えございません。
python3 -m venv py3-sample
py3-sampleというディレクトリが作成された事を確認します。venvは仮想的なpython実行環境ですので、作成だけでなく削除も用意です。この環境が不要になった時はディレクトリごと削除すれば、跡形もなく削除処理が完了します。
mac19gokateigo% ls -l | grep py3 drwxr-xr-x 6 xxxxxxxxxxxxxxxxx staff 192 8 30 10:53 py3-sample
venvを使用するには、bin/activateというスクリプトを読み込みます。ターミナルに(py3-sample)と現在有効になっているvenv環境が表示される事にも着目ください。
mac19gokateigo% source py3-sample/bin/activate (py3-sample) mac19gokateigo%
動作確認のために、いくつかpythonモジュールをインストールしてみましょう。
(py3-sample) mac19gokateigo% pip install ansible Collecting ansible Downloading ansible-2.9.12.tar.gz (14.3 MB) |████████████████████████████████| 14.3 MB 3.4 MB/s Collecting jinja2 Downloading Jinja2-2.11.2-py2.py3-none-any.whl (125 kB) |████████████████████████████████| 125 kB 6.8 MB/s <omitted> Installing collected packages: MarkupSafe, jinja2, PyYAML, pycparser, cffi, six, cryptography, ansible Running setup.py install for PyYAML ... done Running setup.py install for ansible ... done Successfully installed MarkupSafe-1.1.1 PyYAML-5.3.1 ansible-2.9.12 cffi-1.14.2 cryptography-3.1 jinja2-2.11.2 pycparser-2.20 six-1.15.0 WARNING: You are using pip version 20.1.1; however, version 20.2.2 is available. You should consider upgrading via the '/Users/xxxxxxxxxxx/py3-sample/bin/python3 -m pip install --upgrade pip' command.
インポートしたモジュールが使える事を確認します。
(py3-sample) mac19gokateigo% ansible -m ping localhost [WARNING]: No inventory was parsed, only implicit localhost is available localhost | SUCCESS => { "changed": false, "ping": "pong" }
venvの使用を終えるにはdeavtivateというコマンドを入力します。
deactivate
deactivateすると、さきほどvenvに対してインストールしたモジュールが使えなくなっている事が分かります。
mac19gokateigo% ansible -m ping localhost zsh: command not found: ansible