Travis CIのiOS用ビルドを手直ししているときにpipでawscliをインストールしたときにハマったのでメモ。
最初にやってたたこと
pip install --user awscli
export PATH=$PATH:$HOME/.local/bin
awsコマンドを呼ぶと127エラーでTravisが止まる。127エラーということはコマンドが見つからないということ。
Site設定を確認する
.travis.yml
に以下のpython -m site
を追加してsite設定を確認。
$ python -m site
sys.path = [
'/Users/travis/build/hogehoge/mogemoge',
'/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
'/Users/travis/Library/Python/2.7/lib/python/site-packages',
'/Library/Python/2.7/site-packages',
'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python',
'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC',
]
USER_BASE: '/Users/travis/Library/Python/2.7' (exists)
USER_SITE: '/Users/travis/Library/Python/2.7/lib/python/site-packages' (exists)
ENABLE_USER_SITE: True
実行可能ファイルはUSER_BASE
の下にあるbin
にあった。
USER_BASE配下のbinをPATHに追加
USER_BASE
はpython -m site --user-base
で取得できるので、それを利用してPATHの追加を以下のように変更。無事にawscliでバージョンが確認できた。
pip install --user awscli
export PATH=$PATH:$(python -m site --user-base)/bin
まとめ
$HOME/.local/bin
よりも今後は$(python -m site --user-base)/bin
を使おうと思いました。