ROBOT PAYMENT TECH-BLOG

株式会社ROBOT PAYMENTのテックブログです

Windows 上での Python & Terraform 環境構築手順

概要


こんにちは! ROBOT PAYMENT サブスクペイのシステム基盤チームの yoponpon です。
システム基盤チームではアプリケーションやシステムインフラの基礎部分の構築や管理、メンテナンス、性能改善などを行っています。

今回は、Windows 上でのPython, Terraform環境構築手順を記載したいと思います。サブスクペイのインフラはAWSで構成されていて、環境はTerraformでコード管理しており、またLambdaなどでPythonを利用しています。

前提


  • こちらの手順はWindows向けの手順となっております。
  • こちらの手順は 2023/12 頃時点のものとなります。

WSLの導入


まずはWSLの導入を行います。 ※WSL (Windows Subsystem for Linux) は Windows 上で動作する Linuxの実行環境です。WSL向けに配布されているLinuxディストリビューションが実行可能です。

1. WSLのインストール

Powershellコンソールを起動してインストールを実行します。基本は流れに沿ってインストールできます。

# デフォルトでUbuntuが導入されます。パスワードの設定などを行います
wsl --install

2. .bashrcの自動読み込み設定

WSLコンソール(Ubuntu)を起動して以下コマンドを実行します。

sudo vim .bash_profile 

以下3行を末尾に追記して :wq で保存します。

if [[ -f ~/.bashrc ]] ; then
    . ~/.bashrc
fi

3. Windows 側のPath設定引き継ぎ解除の設定

WSLコンソール(Ubuntu)を起動して以下コマンドを実行します。

sudo vim /etc/wsl.conf

以下2行を末尾に追記して :wq で保存します。

[interop]
appendWindowsPath=false

4. nameserverの設定

WSLコンソール(Ubuntu)を起動して以下コマンドを実行します。

sudo vim /etc/resolv.conf

nameserverを編集して :wq で保存します。

# nameserver xxx.xxx.xxx.xxx #元々の値をコメントアウト
nameserver 8.8.8.8 #こちらを追記

5. resolv.confを再生成しない設定

WSLコンソール(Ubuntu)を起動して以下コマンドを実行します。

sudo vim /etc/wsl.conf

以下2行を末尾に追記して :wq で保存します。

[network]
generateResolvConf = false

※ちなみにWindows Terminalを利用するとPowershell/CMD/WSLが一つのアプリでコントロールできるのでおすすめです!

Python開発環境の導入


Python開発環境を導入します。複数バージョンの利用の可能性があるためpyenvを導入します。

1. pyenv の導入

WSLコンソール(Ubuntu)を起動して以下コマンドを実行します。

# Ubuntuの更新
sudo apt update
sudo apt upgrade

# pyenvの依存関係の導入
sudo apt install libssl-dev libffi-dev libncurses5-dev zlib1g zlib1g-dev libreadline-dev libbz2-dev libsqlite3-dev make gcc

# pyenvの導入
curl https://pyenv.run | bash

2. パスを通す

vimで .bashrc を開きます。

sudo vim ~/.bashrc

パスを通すコマンドを末尾に追記します。(:wqで保存)

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv virtualenv-init -)"

3. WSLの再起動

PowershellコンソールにてUbuntuの再起動を実施します。

wsl.exe --shutdown

4. Ubuntuにてpyenvインストールを確認する

pyenv --version

# pyenv 2.3.26
# 何かしらのバージョンが表示されればOK

Terraformのインストール

最後にTerraformをインストールします。

# Ubuntuの更新
sudo apt update && sudo apt upgrade

# tfenvのインストール
git clone https://github.com/tfutils/tfenv.git ~/.tfenv
echo 'export PATH="$HOME/.tfenv/bin:$PATH"' >> ~/.bash_profile 
source ~/.bash_profile

# tfenvのバージョン確認
tfenv --version
tfenv 3.0.0-18-g1ccfddb

# インストール可能なTerraformのバージョン確認
tfenv list-remote

# unzipのインストール
sudo apt-get install unzip

# Terraformのインストール
tfenv install 1.8.5

# デフォルトで使用するバージョンを指定
tfenv use 1.8.5

# インストールの確認
terraform -v

# Terraform v1.8.5
# on linux_amd64

参考情報

まとめ

上記手順でWSL, Python, Terraformの導入ができました!
WSLはWindowsを使いながらそのGUI上で簡単にLinuxを利用できる便利な機能です。今後もガンガン使っていきたいですね。



We are hiring!!

ROBOT PAYMENTでは一緒に働く仲間を募集しています!!!

speakerdeck.com
www.robotpayment.co.jp