brewでインストールした/usr/local/bin/pythonが使用されない
使用していたシェルをzshからfishに変更して"virtualfish"を読み込もうとした際、brewでインストールした/usr/local/bin/pythonではなく、systemの/usr/bin/pythonが使用されていた。 それにより"/usr/bin/python: No module named virtualfish"が出てしまって右往左往したので解決策を書く。
環境
- OS: macOS sierra
- マシン: macbook Air
- シェル: fish
インストールしたもの
$brew install python $brew info python python: stable 2.7.13 (bottled)
- virtualfish
$pip install virtualfish $pip freeze | grep virtualfish virtualfish==1.0.5
エラーになったコマンド
- ~/.config/fish/config.fishでのvirtualfish設定
$/usr/bin/python -m virtualfish /usr/bin/python: No module named virtualfish
調査
まずはpythonのバージョンをチェックした。
$python -V Python 2.7.10
ついでにpythonのパスもチェックしたところ、brewでインストールされたpythonを使ってないことが分かる。
$which python /usr/bin/python
調べているとbrew unlink python; brew link python
で解消したとの事例があったので試したが駄目。
次に見たのが/etc/paths
で/usr/local/bin
よりも上に/usr/bin
があると駄目ってあったので確認したが問題なし。
$cat /etc/paths /usr/local/bin /usr/bin /bin /usr/sbin /sbin
結論
/usr/local/bin
を改めて見てみると、brewでインストールしたpythonって/usr/local/bin/python
じゃなくて、/usr/local/bin/python2
だと気づいた。
$/usr/local/bin/python2 -V Python 2.7.13
となればシンボリックリンクを貼ってやれば解決するなということで、
$ln -fs /usr/local/bin/python2 /usr/local/bin/python $python -V Python 2.7.13
ようやくbrewでインストールしたpythonが使用されていることが確認出来たので最後にエラーが出ていたコマンドを確認。
$python -m virtualfish set -g VIRTUALFISH_VERSION 1.0.5;set -g VIRTUALFISH_PYTHON_EXEC /usr/local/opt/python/bin/python2.7;. /usr/local/lib/python2.7/site-packages/virtualfish/virtual.fish;emit virtualfish_did_setup_plugins
以上。問題ないことが確認出来た。
nodebrewはbrewでinstallしてはいけない
nodebrewのインストールおよび設定でハマったので備忘録として書いておく。
普通にbrewでインストール
↪ brew install nodebrew
特に問題は発生せず、nodebrew install-binary latest
でも正常にインストールできた。
↪ nodebrew list v10.4.1 current: none
ということなのでインストールしたnodeを有効化しようとしてuse
したのだが、、、
↪ nodebrew use latest use v10.4.1 ↪ nodebrew list v10.4.1 current: none
と有効化されない。path周りも一通り調べたけどだめだったのでgithubのインストール手順に従う。
githubのインストール手順に従ってインストール
まずその前にhomebrewでインストールしたゴミを削除する。
↪ brew uninstall --force nodebrew ↪ rm -rf $HOME/.nodebrew
以下手順にしたがってインストールする。
nodebrew : https://github.com/hokaccha/nodebrew
↪ curl -L git.io/nodebrew | perl - setup % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 100 24569 100 24569 0 0 13048 0 0:00:01 0:00:01 --:--:-- 13048 Fetching nodebrew... Installed nodebrew in $HOME/.nodebrew ======================================== Export a path to nodebrew: export PATH=$HOME/.nodebrew/current/bin:$PATH ========================================
latest
バージョンをインストール
↪ nodebrew install-binary latest ↪ nodebrew list v10.4.1 current: none
latest
バージョンを有効化
↪ nodebrew use latest use v10.4.1 ↪ nodebrew list v10.4.1 current: v10.4.1
無事にcurrentにlatest
バージョンがセットされている。念のためにnode
とnpm
を確認しといたが問題なし。
↪ node -v v10.4.1 ↪ npm -v 6.1.0
最後に
一先ず正常に使える状態にはなったけどコマンド関連はbrewで管理しとかないと環境移行の際に漏れが出てくるので、homebrewでエラーが出ないようにする方法も探していかないとな。
vscodeを使ってみた
今までatomを使い続けて来たけど、置換処理とか遅すぎて耐えられなくなって来たのでvscodeを試してみる。 単純な文字列置換はatomで1分以上かかる処理がvscodeなら一瞬で終わったので、あとはそれ以外でatomでやっている作業を代替えできるか見ていく。
現在atomでやっていること
まずはpython開発環境の整備
とりあえずはFormatterとlinterとして「Python」,「Python for VScode」を入れた。 特に「vscode-python-docstring」のdocstringの自動生成は結構便利に使える感じだ。 こういったドキュメンテーションを追加するのが面倒な人はおすすめ。
emberjs関連のパッケージ
「emberjs」で諸々入るのでとりあえずこれだけで基本的な開発は大丈夫な感じ。 helper周りなど正直言ってemberjsの習熟度は高くないので、AutoCompleteできる「Ember Language Server」は個人的には必須機能。
jsonデータの整形方法
特に追加の拡張機能無しで整形は可能でした。
Markdownのプレビュー方法
特に追加の拡張機能無しでMarkdownのプレビューが可能でした。
- 「command+shift+P」から「Change Language Mode」と入力
- 数ある言語から「Markdown」を選択
- [command+k]のあとに「v」を入力
使ってみた感想
とりあえず圧倒的にatomよりも早いので完全に乗り換えた感じ。 なんとなくデザインが気に入らない感じではあるが、使い勝手は良いし拡張機能もそれなりに充実していそうなので一先ず当面はvscodeで作業していこうかと思う。
気付けば転職して一年が経過
気が付けば転職して一年が経過していた。
比較的裁量が大きめかつ、スケジュールに関しても割り込み作業が少なく想定したスケジュールで作業できたので個人的にはストレスが少ない一年だった。
主にやったこと
- 請求系システムの再構築
- 集計系システムの新規構築
- ポータル機能の改修
主言語
身に付けたスキル
- aws全般(特にlambda, redshift周り)
- Bigquery
一年を通して
とりあえずawsをメインで使用していたわけだが、一言でawsを表すならMoney is power 結構な金をかけるなら何も気にせず作っていけるが、予算が限られた中でするには結構省メモリプログラミングを意識していかなきゃいけない。 まぁこういう細かいのも好きだけど、個人的にはGCPの方が好きなので、どこかで優位性の証明でもして切り替えるように促して行くか。
再びブログを書くことにした
そろそろ転職してから1年が経とうとしている。
転職当初ほどのモチベーションは無くなってしまっているので、自学をしながらモチベを高めていくために再度ブログを書いていくことにする。
以前みたいに週何回とか決めて自分を追い込むのではなく、のんびりと自分の書きたいときに書くという方針でやっていく。
まぁとりあえずブログの体裁を整えることからはじめますかね。