かわろぐ

技術、セキュリティ、その他もろもろ

MENU

pyenv 環境の python が "No such file or directory" となったときの対処法

環境

  • macOS 10.14.1
  • homebrew 1.8.0

homebrew で古いバージョンを全部消した

かなり長い期間使っている環境だったので、ディスクの容量を削減するために仮想マシンやら homebrew やらをきれいにしていました。 その中で以下のコマンドを打っていました。

$ brew cleanup

このコマンドは最新版でないものを消してくれるというものなのですが、これを実行したら python 関連のものが以下の図のようにエラーを吐いて動かなくなりました

$ pip
~/.pyenv/shims/pip: line 21: /usr/local/Cellar/pyenv/1.2.5/libexec/pyenv: No such file or directory

f:id:kawa_xxx:20181125131139p:plain

shims/python の中身を更新する

~/.pyenv/shims/python が古いバージョンの pyenv を向いており、その古いバージョンが brew cleanup で消されてしまった影響でした。 新しいバージョンに向き直すのは上記 python ファイルを直接更新してもよいのですが、以下のコマンドでやる方法もあります。

$ pyenv rehash

f:id:kawa_xxx:20181125131147p:plain

無事、python も pip も動く様になりました。めでたしめでたし。

参考文献

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング

私のタスク管理(Things3)のやり方

これまでタスク管理は手帳や裏紙に書いてみたり、テキストエディタで全部書着出してみたりしていました。私の仕事もプライベートも両方のタスク管理アプリは Apple Watchを買ってから Things 3 に落ち着きました。

常にPCの前で作業しているだけではないですから、今日の中にタスクを入れておけばAppleWatchから確認できるので、移動中にやってしまいたいこと、 買い物がてらやってしまいたいタスクなんかもサクサク消化することができます。完了チェックをAppleWatchからできるのも定着した点ですね。

タスク管理のベースはGTD

タスク管理のベースはGTDです。思いついたタスク、後でやらなくてはいけないことはとにかく全部 Things に入れ、メモなど必要になる情報源も一緒に入れます。

その後は場所やプロジェクトで分けて、期日がわかっているものは期日をつけてあとはやるだけです。タグ機能は殆ど使っていなくて、な余計な情報や余計な手間は最小限にしたいので。

GDTについての詳細は、この辺の書籍を見るのが良いと思います。

全面改訂版 はじめてのGTD ストレスフリーの整理術

全面改訂版 はじめてのGTD ストレスフリーの整理術

効率は上がったのか?

かなり上がっていると思います。AppleWatchからタスク確認できたり、チェックできるのはすごくはかどっています。

タスクおわった!と立ってしまっても、トイレなどへ移動しながらタスク完了チェックできるのは地味によいです。

GTD with Things 3 (English Edition)

GTD with Things 3 (English Edition)

Wowhonyepot のログを StackDriver Logging から GCS に保存する

前回の記事では、Wowhoneypot のログを StackDriver Logging へ出力できる様に設定しました。 しかし、それだけではログは長期間保存されません。公式ドキュメントによると30日しか保持されないようです。 長期保存するためにはGoogle Cloud Strage(以下 GCS)へ転送する必要があるようです。

StackDriver Logging から GCS に転送する方法

エクスポートを作成で簡単に転送できる。タグで wowhoneypot とつけてあるので、それを選択して設定すれば syslog などと混ざることなく wowhoneypot のログだけを GCS へ転送できます。

f:id:kawa_xxx:20181006215856p:plain

GCSから見えるログ

StackDriver Logging から転送されたログは、JSON形式で1時間毎のファイルに分けられて保存されていきます。

f:id:kawa_xxx:20181006215859p:plain

さて、これでログも長期間保存されるようになったので、あとは BigQuery か ElasticSearch などに突っ込んで分析するだけですね!

Google Cloud Platform エンタープライズ設計ガイド

Google Cloud Platform エンタープライズ設計ガイド

Stackdriver Logging に Wowhoneypot のログを吐き出す

前の記事では、サーバーのディスクが溢れない様にログをローテートするところまで作業しました。今回はハニーポットのマシンの外にログを保管する部分をやっていきます。

ハニーポットのログを集めたい

個人の趣味の時間でやっているので、syslog サーバのメンテナンスなんてしたくて、最もやりたいログの分析の部分にフォーカスしたいんですよね。そこで、Google Cloud Platform にロックインされますが、GCP上のサービスを使ってお金で手間を解決したいと思います。

お金でと言っても殆ど、無料枠に収まってしまいほぼ無料ですけどね。。

StackDriver Loggingにログを出す

これはStackDriver のエージェントが Google から提供されているので、ドキュメントを見て以下のコマンドを叩くだけです。

curl -sSO "https://dl.google.com/cloudagents/install-logging-agent.sh"
sudo bash install-logging-agent.sh

エージェントと言っても独自のものではなくて fluentd のカスタマイズ版のようですね。

完了したらStackdriver のエージェントにwowhoneypot のログを拾わせる様に設定しましょう。こちらも設定方法のドキュメントがあるのでそれを見ながらやりました。

/etc/google-fluentd/conf.d/wowhoneypot.conf

<source>
  @type tail
  format none
  path /home/wow/wowhoneypot/log/access_log
  pos_file /var/lib/google-fluentd/pos/wowhoney-access_log
  read_from_head true
  tag wowhoneypot
</source>

上記の設定ファイルを作ったらエージェントを再起動します。

sudo service google-fluentd restart

これで、Wowhoneypot のログが StackDriver Logging へ転送されるようになりました。GCPの画面で見るとこんな感じですね。

f:id:kawa_xxx:20180930080411p:plain

エージェントの設定ファルを作成したフォルダにはデフォルトで syslog など他のサービスのログを転送する設定も多数入っています。もし、ログ量を心配するならば、これらを削除なり拡張子の変更をしておくと良いかもしれません。

プログラマのためのGoogle Cloud Platform入門 サービスの全体像からクラウドネイティブアプリケーション構築まで

プログラマのためのGoogle Cloud Platform入門 サービスの全体像からクラウドネイティブアプリケーション構築まで

今更 Scrapbox を使いだしてみた

今更ながら Scrapbox を使いだしてみました。まだ public には殆どなにもないですが、私の Scrapbox を貼っておきますね。

f:id:kawa_xxx:20180919095151p:plain

Scrapbox って?

公式や、すでにいろいろな方が言及されていますが、簡単に言ってしまえば Wiki です。ただし、単なる Wiki ではなく、リンク機能が強力で同時編集もできる代物となっています。

なぜ使おうと思ったのか

エンジニアの知的生産術の著者の Scrapbox にたまたまたどり着いて、むむ!と思い、他のユーザの Scrapbox を見ていて、Link で関連するものがつながっていてしかも手軽にかけ、お、これは面白そうと思ったのがきっかけです。

Evernote との棲み分けって?

まだ使いだして数日ですが、おそらく書籍から得た知識や調べた知識をまとめておく用途に限定されるんだろうなと思っています。要はPCの前にしっかりいてできる作業に限定される感じです。

出先などで取る雑多なメモ類はおそらく Evernote に放り込むことになりそうです。理由は簡単で、スマホアプリがないことですね。スマホでブラウザとか殆ど開きたくないので。。。

しばらく使ってみて、なにか変化があったらまたブログに書こうと思います。

Scrapbox情報整理術

Scrapbox情報整理術