Pythonの環境管理ツール良し悪し

EDIT: 2018/06/19 pipenvについて追記

本記事は社内向けに書いた文章を修正したものである。

世の中にある代表的な「Python環境管理ツール」に virtualenv, pyenv, venv, pipenv の4つがある。これらをGoogleで検索すると使い方が書かれたページばかりが出てきて、それらの違いや使い分けを解説する記事は少ない。

本当は必要ではないのに「pyenvは便利」のような謳い文句で何となく使わせる記事や、古い情報を元に書いた「一見新しそうに見える記事」も多く見られる。

この記事では、中立・実用重視な視点から各ツールを解説し、筆者が考えうるベター(ベストは人それぞれ)な組み合わせについて書く。

なおAnacondaは初学者が使うにはおすすめできない。Anacondaについての筆者の解釈は末尾にあるためそちらも参照されたい。

本記事公開後いくつか近い話題の記事を教えていただいた。突っ込んだ話も多く参考になるので、末尾の参考欄から是非あわせて読んでいただきたい。

TL; DR

この文章で話すことをかんたんに言うと、

  • pyenvでPythonの複数バージョンを管理する
  • venvでパッケージ環境を切り分ける (Python 2ならvirtualenv)

以上の組み合わせが比較的シンプルながら柔軟でサポートが安定している。

非プログラマーの場合は、OSのパッケージマネージャーで最新のPythonをインストールした方が簡単でトラブルシュートしやすい。

続きを読む

転職しました

f:id:puhitaku:20180202002321p:plain

表題のとおり

2018年2月1日をもって、フラー株式会社からGROOVE X株式会社へ転職しました。

ホントはこの1行報告で終わってよかったんですが、久しぶりにエモりたいのでちょっと書きます。社会人ヅラしてエモるけどゆるして。

理由

なんで転職したかの理由はシンプルで、自分が何やりたいかが見えてきたからです。

学生の時に具体像が見えなかった「コンピューターでものづくりをする」という未来が、フラーで仕事をしているうちに具体的に描けるようになってきたので、次なるステップのために動いた感じです。

津山高専の専攻科を半年で辞めフラーに入社した2年前は、「今はコードを書いて実戦で学ぶべきだ」ぐらいしか思ってなくて、「ものづくりをしてる将来の自分」は間違いないにせよ、具体的にじゃあどんなものづくりに携わるのかというイメージがまったく湧きませんでした。入社してからはどんな技術にせよ、知らないことを吸収していくうちに本質的に好きなことやものづくりへの信念が見えてきて、結果上記の「仕事でものづくりをしたい」から「消費者の生活に直接つながるハードを作りたい」と具体的に考えるようになっていました。

実務と中途採用

ハッキリ言って自分がロボット作りに携わるとはまったく思ってませんでした。なんかこう、大学院卒のすごい人たちがでかい会社のR&D部門で開発するってイメージだったので。

そんなイメージを持ちつつ実際にGXに入ってみると、多様な出自でものづくりを経験した猛者たちが、技術に物を言わせてまだ見ぬプロダクトを目指していました。つまり、学歴がどうとかではなく、ただ純粋に技術とやっていきが求められてそこにいたわけです。この視点で言うと、新卒ではなくフラーで2年働いた後にGROOVE Xと出会ったのは非常にラッキーでした。もしフラーの実務や趣味(ルーターなど)で積んだ知識・費やした時間がなければ、私は自分のポテンシャルを十分にアピールできなかったでしょう。PythonやGoの知識が付いて〜みたいなのももちろんありますが、チームでルールに則って開発するとか、信頼性を考えたコードを書くみたいなことは、明らかに実務でしか積めない経験だったなと感じます。

まとめると、教育機関から社会に出たときにキャリアは確定するのではなく、実務によって得られる知識や能力によってよりよいキャリアが後から描けるってことです。ここが主に伝えたかったところです。

決め手は直感と会社のビジョン

昨年のPyCon JP 2017でトークセッションの選考に受かった時点で相当ラッキーでしたが、その後のパーティーでたまたまGROOVE Xを知って、しかも聞いたコンセプトが自分がボヤッと持っていたロボット像にクリーンヒットするという偶然ぶりでしたから、運命的なものを感じざるを得なかったです。

それからは、「もし転職するとしてこれは妥当かどうか」をじっくり考えたり、親しい人と相談したり、同業他社と比較したりを経てGROOVE Xに決めました。

がんばります

とりあえずそんなところです。経緯や更なるエモなど、詳しく聞きたい人はぜひビールを流し込みつつお話しましょう。

スーパーお手軽ハードウェアをMicroPythonでウェイする

こんばんは。これは #kosen10s Advent Calendar 最終日の記事です。 昨日は @e10dokupノリと勢いで買ってよかったものベスト10 2017 でした。

e10dokup.hateblo.jp

MicroPythonはすばらしい

この記事はMicroPythonの素晴らしさをノリで世の中に伝えるものであり、勢いで書かれていることをどうか許してほしい。

筆者の紆余曲折のせいでなんだかんだArduino SDKの話が長いが、そこは飛ばしていただいても結構である。

続きを読む