Beberapa hari lalu, saya membutuhkan service python untuk menjalankan aplikasi Ansible. Adapun Ansible ini saya gunakan untuk gather informasi spesifikasi server dan menampilkannya dengan menggunakan ansible-cmdb. Yang menjadi permasalahan adalah ketika saya coba install ansible-cmdb pada MacOS Monterey ternyata membutuhkan python versi 2.7 yang sudah cukup lawas/end of life. Biasanya untuk instalasi software tambahan di Mac saya menggunakan brew.
Cara Install Homebrew
Mudah saja install brew, cukup jalankan perintah seperti ini:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Biasanya akan membutuhkan akses root dan akan diminta masukan password ketika proses instalasi.
Install Melalui Homebrew
Biasanya saya install menggunakan brew langsung dengan perintah seperti ini:
brew install python
Ternyata jika install langsung brew menggunakan metode install, memerlukan beberapa package tambahan seperti xcode developer tools.
Setelah saya coba searching di Internet saya menemukan artikel dari freecodecamp.org bisa install python menggunakan pyenv.
Install pyenv untuk Manage Versi Python yang Diinginkan
Berikut ini cara install pyenv via brew:
brew install pyenv
Jika sudah maka kita siap install versi python yang diinginkan
Install atau Update Versi Python
Jalankan perintah ini untuk install python versi 2.7:
pyenv install 2.7.18
Atau jika ingin upgrade dan install latest version python 3 bisa mengikuti:
pyenv install 3.10.5
Setup MacOS Path untuk pyenv (Bash atau ZSH)
Bash
Ini berlaku untuk MacOS dibawah Big Sur. Tambahkan baris berikut pada file /Users/usernamekamu/.bashrc:
export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" if command -v pyenv 1>/dev/null 2>&1; then eval "$(pyenv init --path)" eval "$(pyenv init -)" fi
Kemudian reset terminal dengan perintah:
reset
ZSH
Ini berlaku untuk MacOS diatas Big Sur. Tambahkan baris berikut pada file /Users/usernamekamu/.zshrc:
export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" if command -v pyenv 1>/dev/null 2>&1; then eval "$(pyenv init --path)" eval "$(pyenv init -)" fi
Kemudian reset terminal dengan perintah:
reset
Python Multi Version
Jika kita menginstall lebih dari 1 versi python menggunakan pyenv, kita bisa set python yang default yang akan digunakan. Untuk mengecek versi yang sudah terinstall bisa menggunakan perintah:
pyenv versions
Kemudian untuk menjadikan python default bisa menggunakan perintah:
pyenv global 2.7.18
Maka hasilnya akan seperti ini:
nugiabdiansyah@Nugis-MacBook-Air ~ % pyenv versions system * 2.7.18 (set by /Users/nugiabdiansyah/.pyenv/version) 3.10.4 3.9.12
Tanda bintang * menandakan versi default yang digunakan ketika kita ketik perintah python
Kendala Instalasi pyenv
Biasanya terjadi kendala saat install pyenv yang dilengkapi dengan pesan error “C compiler cannot create executables” disebabkan karena kita belum menginstall xcode. Kita bisa install xcode dengan mudah melalui link yang ada disini.
Jika sudah diinstall xcodenya, cukup jalankan perintah pyenv install kembali.
Viola!! Kita berhasil install versi python yang kita inginkan, Happy Coding!