2017年Python環境設定 – andaconda/virtualenv/cookiecutter/dotenv

1. Install anaconda / conda

condaによるポータブルなPython環境構築のすすめを参考にすると、(ana)condaが最近の主流とのこと。
下記にアクセスし、各OSのパッケージをダウンロードしてインストール。3系を使います。

https://www.continuum.io/downloads

あとでLinux上で動かす予定なので、なるべく依存関係を作りたくないので、pyenvの導入はしないことにしました。

2. Create virtualenv

Rubyのbundler相当なのが、virtualenvらしいので、仮想環境を作り、その環境に入る。

3. Install packages

基本、conda installでパッケージを入れていくだが、パッケージがないことも多く、そんなときは、conda-forgeを入れるようになるので、最初から追加しておく

とはいえ、virtualenv変更後はpipでも良いので、 conda installでなかったら、pip installみたいな感じ。

virtualenvでのパッケージはcondaで管理できるので、新しいプロジェクトをコピーするときは、下記のようにexport/importする

(参考)http://qiita.com/Hironsan/items/4479bdb13458249347a1

4. Create Project

調べてみるとプロジェクトのディレクトリ構造の自由度が高い。
つまり、人々が各々ディレクトリを作ったり、ファイルを作ったりしている。それがフレームワークを使ってる私みたいな人には、非常に気持ちが悪い。
プロジェクトの雛形が欲しいので、調べるとcookiecutterというのがあるのでそれを使う。

今回はデータサイエンス用のテンプレを使用しているが、テンプレートはpythonだけでなく多言語のもある。
詳しくは、githubのcookiecutterを参照してほしいが、
下記のようなboilerplateができるので自分で考えなくてよいのは非常によい。

作成方法は、

プロジェクト名のディレクトリが作成されるので、そこに入り、パッケージをインストール。

5. python-dotenv

Githubに載せたくないAPIのキーなどを管理する
cookiecutterのテンプレートにあるのに、requirements.txtにないのでインストール。

使い方は、下記のような感じ。

以上が、色々なページを参考にして構築した環境です。
こういうのって時間がかかるので、参考になれば幸いです。

macOSのelasticserachの使用メモリサイズの変更方法

気づいたら、2G使ってたので変更。そもそも開発用なのでそんなに必要ない。

256Mも使ってないけど一応。

Sublime Text 3のSwitch Projectの編集方法・削除方法

消したはずのプロジェクトが残る現象発生。
削除するのは現セッションのRecent workspacesから取り除く必要あり。

Sublime Textを閉じたあとに

で、recent workspacesを消す。

[React Native] HTTP requestのRetryを実装する

Mediumに英語のエントリRetry POST request when it’s failed on React Nativeを書いた内容と同じですが、地下鉄で地下に潜るとreact-native-oauthmakeRequestが失敗するケースが発生しました。Twitterの2つ目の投稿が投げられていなかったり、FBへの投稿も落ちていました。そこで、リトライするコードを書きました。

Async Retryを使います。これはnode-retryをラップしたもので、例がシンプルで良さそうだったので使います。(async/awaitの文法にも慣れているので)

問題なくインストールできます。そして、コードは、下記のような感じ。

2つ目の引数にnode-retryのオプションを書いてくイメージです。今回はエラーハンドリングは特にしないで5回リトライする単純なコードです。iphoneのデベロッパーのところにある”Very bad network”で試したところ、コンソールに数回トライしているのを確認しました。(Testをうまく書けるのかな。。)

以上、リトライを実装したい方は参考にしてみてください。

Scroll to top