MyEnigmaスマートフォン用の表示で見るMyEnigmaとあるエンジニアのブログです。他の人とノートブックを共有したりする時に、どのように構造化すべきかと悩むことが多いです。要約をメモしておきたいと思います。多くのライブラリでは、共通のライブラリに依存しており、そのバージョンもバラバラなことが多いです。動かなくなるということが頻発します。そんな時は、各プロジェクト毎にvirtualenvなどを使って、独立の環境にしておいたほうが他のプロジェクトに影響を与えずに済みます。Python3を使うもうPython2を使うのはやめましょう。新しく環境を作成する時用に、notebookで使っているモジュールのrequirements.txtをノートブックと同じディレクトリに保存(バージョン管理)しておくと便利です。requirements.txtです。すべてのimport文とパスの設定は初めのセルに入れるすべてのimport文とパスの設定は、ノートブックの最初のセルで実施すべきです。最初のセルを実行するだけで、任意の他のセルを実行できるようになります。はじめはコードは汚くても良い新しいアイデアの賞味期限は短いので、ノートブックの作り始めは、コードが汚くても良いとしましょう。新しいセルを追加するのが難しくなってきたり、パフォーマンスが気になってきたら、最適化しましょう。不要なメモリ消費が発生したりします。セルの中の処理はできるだけ関数の中にいれて、それらを別のセルから呼ぶような設計にしましょう。毎回、長い時間待たなくてよくなります。documentationjoblibを使った場合、下記のように関数の出力をキャッシュできます。notebookをメンテナンスしやすくするには、できるだけ、セルの独立性を保つことが重要です。先程のキャッシュを使いましょう。短い方が読みやすく、使いやすいと思います。ユーティリティ関数にはアサーションを使ってテストを書くよく使うユーティリティ関数がある場合は、assertを使って、関数と同じセル内にテストを作っておくと便利です。Supportersもしこの記事が参考になり、ブログをサポートしたいと思われた方は、こちらからよろしくお願いします。はてなブログProとあるエンジニアのブログです。Page月別アーカイブスポンサーリンクスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。