Help us understand the problem. What is going on with this article?

WindowsでPythonプログラミング環境整備(Jupyter notebookの利用)

More than 1 year has passed since last update.

はじめに

普段はMacで色々な設計計算を行っているのですが,会社支給のWin機でも同じことをできるようにしておかないと何かと不都合なので,Macと同じPython+Jupyter notebookの環境をWin機に導入することにしました.

実は,当初はめんどうなのでオールインワンで OK ということで Anaconda3 を入れていたのですが,Mac で問題なく動く Python スクリプトが Win 機上の Anaconda では原因不明および意味不明のエラーが出て動かない,という不都合に見舞われたため,Anaconda を捨て,Mac 同様に素直に Python と pip で環境を整備することにした次第です.

Win機の概要

  • Windows 7 Professional
  • Intel Core i7-6600U CPU 2.60GHz
  • Memory 8GB

(雑感)

この Win 機も仕様だけ見るとすごそうですが,Core i5 2.6GHz,メモリ8GB の Macbook pro (Retina) のほうが画面は綺麗だし断然パフォーマンスはいいです.

Jupyter notebookの束(ファイル)はDropbox経由でMacからWin機にコピーしています.

Windowsの不便なところは,コマンドプロンプトが使いづらいところか.MacではJupyter上でわざわざプログラムを書かなくてもシェルスクリプトで処理できることはやっていたのですが,Win機上ではコマンドプロンプトを動かそうにもやり方が分からず,Python側のsubprocess.callに命令を突っ込んで処理しています.

ちなみに,先般,Anaconda で動かなかった Python スクリプトはというと,新しい環境では全く問題なく動いています.あれはいったい何だったんだろう...

それでは,本題に.

Python3.7のインストール

下記の記事を参考に実施しました.

Pythonのインストール方法[Windows]
https://qiita.com/R-Imai/items/18fee5203e695838e899

ただし,ダウンロード画面そのままだと 32bit 版のインストーラがダウンロードされてしまうので,64bit 版の人は注意が必要です.Looking for Python with a different OS? Python for Windows のボタンから移動して Windows x86-64 web-based installer をダウンロードし実行します.このときパスの追加を忘れずに!

scr1.png

scr2.png

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

Python 本体が入ってしまえば,あとは pip で必要なものをインストールしていきます.gcc あるいは gfortran が入っていないと scipy がインストールできない???というような情報を昔見たことがあるような気がしますが,未確認.私の場合,MinGW をインストールしてあるためか問題なくインストールを完了.
インストールしたものは以下のものたちです.Python のプログラミングは Jupyter notebook で行いたいため,これもインストール.ちなみにJupyter notebookとは一言で説明するとすれば何といえばいいのでしょうね?日本語だけ見るとpandasともダブりそうだし,私は Jupyter は設計業務で使っているのでデータ解析支援アプリというのもピンとこない...が思いつかないのでとりあえずそう書いておきます.

pip install numpy        数値計算用ライブラリ
pip install scipy        数値解析用ライブラリ
pip install matplotlib   グラフ作成ライブラリ
pip install pillow       画像処理ライブラリ
pip install pandas       データ解析支援ライブラリ
pip install xlrd         エクセルデータ読込用ライブラリ
pip install sympy        記号計算用ライブラリ
pip install jupyter      データ解析支援アプリ???

Jupyter notebookの準備

やりたいこと

  • フォントは Ricty Diminish にする(12pt,行間120%)
  • ブラウザは Firefox を使用
  • テーマは黒系で monokai を使用

フォントの変更

以下のサイトを参考にRicty Diminishをインストール.

見やすいプログラミング用フォント「Ricty Diminished」をWindowsにインストールしてSublime Textで利用する方法
https://nelog.jp/how-to-use-ricty-diminished-font

フォントの変更は,C:\Users\xxx.jupyter\custom\custom.css を直接いじって実行しました.やることは,

  • font-family の monospace を全て Ricty Diminish に書き換える.
  • フォントを Ricty に変更した箇所の font-size を 12pt に,line-height を全て 120% に書き換える(デフォルトは 170% )

テーマの変更

テーマの変更は以下の記事を参考に実施しました.

Jupyter Notebookの背景色やフォントをかっこよく変更する(Jupyterテーマ変更)
https://qiita.com/uratatsu/items/cdc83308ce85a32d0512

私の場合monokaiを選択.なお上記サイトで紹介されている以下の -f Ricty Diminished が効かなかったので,フォントの変更は上述の通り,直接 custom.css を編集しました.

$ jt -t onedork -f Ricty Diminished -T -N

私は,テーマ変更の際,セル幅を 1200px に変更しています.画面幅がもったいないと感じる人は自分の画面に合わせて変えることをお薦めします.コマンドは以下の通り.

jt -t monokai -cellw 1200 -N -T

なお,テーマの変更を行うと,custom.css がデフォルトに戻ってしまうので,フォントの変更は最後に行うか,変更した custom.css のコピーを作っておき,テーマ変更後に差し替えるようにすると無駄がないと思います.

ブラウザの指定

ブラウザの指定は以下の記事を参考に実施しました.

Windows環境でのJupyter Notebookのブラウザ指定
https://qiita.com/acknpop/items/4e5b57e38780068a9155

以下を実行すると,C:\Users\xxx.jupyter\jupyter_notebook_config.py というのができます.

jupyter notebook --generate-config

初期状態の jupyter_notebook_config.py は,全てコメントアウトされているので,私は以下のように,ファイルの頭に3行を挿入しました.

import webbrowser
webbrowser.register('firefox', None, webbrowser.GenericBrowser('C:\\Program Files\\Mozilla Firefox\\firefox.exe'))
c.NotebookApp.browser = 'firefox'

# *** ここから下は元ファイルの内容 ***
# Configuration file for jupyter-notebook.

#------------------------------------------------------------------------------
# Application(SingletonConfigurable) configuration
#------------------------------------------------------------------------------

## This is an application.

## The date format used by logging formatters for %(asctime)s
#c.Application.log_datefmt = '%Y-%m-%d %H:%M:%S'

......

仕上がり

以上により出来上がった Jupyter notebook のスクリーンショットを示します.なんだかすごいことができそうな予感???

scr3.png

scr4.png

ちなみに私のMacのJupyterはこんな感じです.

以 上

damyarou
設計コンサルタント会社勤務.土木技術者
https://damyarou.hatenablog.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away