GAE/Python セットアップハマったところメモ
GAE/Python にチャレンジしてみているのだが、そもそもセットアップに猛烈にハマったのでメモしておく。
gcloud コマンドのインストール
最終的には以下の通りだった。事前に Xcode と Xcode Command Line Tools のインストールは終わっている前提。
$ open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg $ brew cask install google-cloud-sdk $ vim ~/.zprofile ---------- if which gcloud > /dev/null; then source '/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc' source '/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/completion.zsh.inc' fi ---------- $ gcloud init
Mojave で Homebrew からの Google Cloud SDK インストールがコケる
brew cask install google-cloud-sdk
したら zlib が見当たらないとか言われて失敗する。Mojave からはヘッダファイルが別のpkgに分離されたらしく、Command Line Tools とは別途インストールが必要となったらしい。
もし、これを実行する前に Homebrew から Python2 を入れていた場合は再インストールが必要となる。
$ brew reinstall python2
関連設定を読み込ませる必要がある
Google Cloud SDK が定義するパス変数などがファイルに定義されているので、シェルの起動時に読み込ませる必要がある。インストール時にも「設定しろよ〜」って出てくるけど、これをやってなかったので dev_appserver.py がパス通ってなくて激しく詰んだ。
これに限らず、出てきた説明を流しちゃった場合は brew cask info google-cloud-sdk
で再確認できる。
ディレクトリごとに Google Cloud SDK の設定を切り替えたい
プライベートの物と会社の物が混在しているマシンで、Google Cloud SDK の設定を切り替えたいということがあると思う。gcloud コマンドにもプロファイルの仕組みはあるが、設定ファイルに書き込まれてシェルを超えた設定になってしまうので、事故が起こりそうで大変不安な作りになっている。
CLOUDSDK_CONFIG
という環境変数で、Google Cloud SDK の設定ディレクトリ自体を切り替えることはできるので、この環境変数で切り替えられるよう、zsh のフック機能で対応してみた。
autoload -Uz add-zsh-hook function chpwd_gcloud_config() { pd=`pwd`/ if [[ $pd =~ $HOME/Working/my_company/.* ]]; then export CLOUDSDK_CONFIG=$HOME/.config/gcloud_my_company else unset CLOUDSDK_CONFIG fi } add-zsh-hook chpwd chpwd_gcloud_config
これで、 ~/Working/my_company
以下にいる場合は設定ディレクトリが ~/.config/gcloud_my_company に切り替わり、それ以外の場合はデフォルトの設定が使用される。
…って今 direnv ってのもあるんですね。
設定切り替え対象のディレクトリを追加した場合は、そのディレクトリに移動して gcloud init
コマンドを打つ必要がある。