JupyterNotebookによるWindows10上での軽量Python環境構築(pipインストール)

ここ数年、書籍やインターネットでPythonが盛んに取り上げられています。
Anaconda、PyCharm、Spyderなど統合IDE型と呼ばれるPythonライブラリが予めインストールものもあります。
以前、Anacondaを使用していたのですが、最初からライブラリがインストール済みであるものの、起動に時間がかかるストレージ容量を占領するという欠点があります。
そこで、ストレージ容量の節約と動作の軽量化を重視して、PythonとpipからJupiterNotebookでの環境をセットアップしました。 JupiterNotebookはブラウザ(例:Edgeやchrome)で動作します。その内容を備忘録として書きます。主にブログでCAEの計算結果を検算するときに活用をしています。


<使用パソコン>
画面サイズ:15.6インチ(解像度:1920x1080)
CPU: intel iCore5(第8世代)
グラフィックコントローラ:オンボード
ストレージ容量:256GB
メモリ:16GB

1.セットアップ手順

技術計算を使うので、numpy,scipy,pandasなどをインストールしました。将来的には人工知能のscikit-learnなども入れたいと考えています。
pythonやライブラリインストールのバージョン等は、不具合が起こると対処に手間がかかるので、購入した書籍に記載されているバージョンに合わせました。

書籍名:NumPy/SymPy/SciPy/pandasによる数値計算・データ処理手法
著:かくあき
発売日:2020年5月19日

引用元:amazon商品ページ

1.1.pythonのインストール

pythonの公式ページからWindows版をダウンロードしてインストールを行います。
https://www.python.org/downloads/
私の場合は、3.7.6をインストールしています。執筆時現在の最新バージョンは3.9.7です。動作確認はしていませんが、最新バージョンでもおそらく問題ないと考えます。

1.2 pythonライブラリのインストール

(1)スタートメニューからコマンドプロンプトを起動させます。

(2)コマンドプロンプトの画面からpipを使ってインストールを行います。

それぞれコマンドプロンプト上に以下のコマンドを入力します。

  • numpyの場合、pip install numpy==1.18.1
  • sympyの場合、pip install sympy==1.5.1
  • scipyの場合、pip install scipy==1.5.1
  • matplotlibの場合、pip install matplotlib==3.1.3
  • pandasの場合、pip install pandas==1.0.1
  • seabornの場合、pip install seaborn==1.0.1

1.3 JupiterNotebookへのインストール

1.2に続いてコマンドプロンプトからpipにインストールを行います。

(1)JupiterNotebookのインストール

「pip install notebook」と入力します。

(2)Nbextensionsのインストール

JupiterNotebookの拡張機能で操作性をよくさせます。以下のサイトを見ながら設定を行いました。

(3)JupiterNotebookのショートカットを作る

メモ帳などのテキストエディタで「jupyter notebook」と入力し、jupyternotobook.batというバッチファイルを作り、デスクトップ上に保存します。

デスクトップ上から 「jupiternotebook.bat」 のアイコンをダブルクリックすると「jupiternotebook.bat」jupiternotebookが起動します。

1.4 データの保存場所の変更(パソコンに詳しい人向け)

初期設定では、Cドライブ上のユーザ内のフォルダに保存されていると思います。(すみません。記憶があいまいです)自動バックアップも考えて、保存先をDropboxに作成したフォルダを指定しました。

やりかたは、
1)コマンドプロンプト上で「jupyter notebook –generate-config」を入力
2)環境設定ファイルの保存場所が表示されます。
3)保存場所にある環境設定ファイル「jupyter_notebook_config.py」を開き、
c.NotebookApp.notebook_dir =”Dropbox上のフォルダ”
を指定して上書き保存します。

2.Pythonの活用例

2.1 CAE (SalomeMeca)の検算に活用

ブログでCAEの計算結果を検算するときに活用をしています。
pandas、numpy、matplotlibを使えば、SalomeMecaで計算した解析結果のたわみや応力などの数値データの可視化も可能だと考えます。

2.2 技術計算電卓の代用

代数計算、行列の計算、微積分などもできるので、大学生で数学を勉強するときや社会人が数式を見るときに復習用の支援に使えると考えます。私自身も大学卒業してから数学を使わなくなり忘れており都度思い出しています。こういったソフトは、MaximaやMathmaticaがありますが、これを覚えたりするのも大変です。最初はpython+sympy+numpy+matplotlibの組み合わせを使って、これで不足する場合は MaximaやMathmatica を検討するのがよいと考えます。

例1:微分方程式の解

例2:データのプロット

3.プログラミング言語の使い分け(しょちょーの個人的な考え)

機械系技術者は、プログラミン言語はPythonをメインにExcelのVBA(場合によってはC言語)、制御マイコンを使う場合はC言語を覚えておけば十分だと考えます。(職場でMatlabがあればpythonではなくMatlab)
理由は以下の3つの観点からです。

  • プログラミング言語は、C言語、BASIC(例:ExcelのVBA)、JavaSprict、Ruby、Matlabなど多数あります。用途に応じてプログラミング言語を覚えればよいのですが、プログラミング言語の学習コストを考えると、使う言語が少ないほうがよいです。
  • 機械設計者が使う計算あれば、pythonに本ブログで示したライブラリをインストールすればほぼカバーできる(私自身もpythonはUmedyの動画で勉強して覚えている最中です)
  • 組込用マイコンを使った制御機器を使う場合は C言語が多い。コンパイルをしてプログラムをしてつくることから、pythonのようなインタプリタ言語に対して軽量で動作が速くリアルタイム処理に向いており、組込用マイコンに使われています。

4.まとめ

社会人になってからMaximaやExcelVBAを使おうと何度かトライしてちょっとは使えるようになったもののに身に付きませんでした。
CAE勉強会等で交流のあるフォロアー(@tkoyama010)さんへ「 Anacondaを使っていて起動に時間がかかるのでなんとかならないか?」と相談したところ、環境設定のヒントを教えてもらいました。やってみたら苦労せずに環境構築ができました。この場を持ちましてお礼を申し上げます。