Notebook

これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。

HTML ファイル生成日時: 2024/12/21 11:44:57.596 (台灣標準時)

NetBSD で Jupyter Notebook を利用する方法

テキストエディタでプログラムを書き、端末エミュレーター上でそのプログラ ムを実行する、ということをしたことがなかったり、そもそもそういうことを する意味が理解できない様子の学生が少なからずいるでござる。大学院生向け のプログラミング実習のために、 Jupyter Notebook での Python スクリプト の実行方法も解説しておいたほうがよさそうだと思ったので、まず自分で Jupyter Notebook の環境を用意してみたでござる。

まず、 pkgsrc を使って、 Jupyter Notebook のインストールを行うでござる。


# cd /usr/pkgsrc/devel/py-jupyter_core
# make install
# make clean
# cd /usr/pkgsrc/devel/py-jupyter_client
# make install
# make clean
# cd /usr/pkgsrc/www/py-notebook
# make install
# make clean

/etc/mk.conf に PYTHON_VERSION_DEFAULT=39 と書いてあれば、 /usr/pkg/bin/jupyter-notebook-3.9 がインストールされるでござる。

ウェブブラウザも必要なので、お気に入りのウェブブラウザをインストールし ておく必要があるでござる。


# cd /usr/pkgsrc/www/firefox91
# make install
# make clean

ここまで準備した上で、 Jupyter Notebook を起動してみるでござる。


% cd /tmp
% jupyter-notebook-3.9

すると、以下のようなウィンドウが現れるでござる。
fig_202207/jupyter_00.png
右側にある "New" というボタンを押すと、メニューが出てくるの で、 "Python 3 (ipykernel)" を選ぶと Jupyter Notebook が利用 できるようになるでござる。
fig_202207/jupyter_01.png
fig_202207/jupyter_02.png
fig_202207/jupyter_03.png

In [ ]:
の右側の領域に Python のコードを打ち込んで、上にあ る "▶ Run" というボタンを押せば、そのコードが実行されるでご ざる。
fig_202207/jupyter_04.png
fig_202207/jupyter_05.png
fig_202207/jupyter_06.png

書いたコードを保存しておきたい場合は、左上の "File" をクリッ クすると、メニューが現れるので、 "Save as..." を選べば、ファ イル名の入力を求められるので、そこにファイル名を書き、 "Save" ボタンを押せば Notebook のコードがファイルに保存され るでござる。

fig_202207/jupyter_07.png
fig_202207/jupyter_08.png
fig_202207/jupyter_09.png

保存された Notebook のファイルはテキストファイルで、内容は以下のように なっているでござる。拡張子は ipynb でござる。


{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "fe8fde4d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "This is my first Jupyter Notebook.\n",
      "# Generated by resolvconf\n",
      "nameserver fe80::aa63:7dff:fef4:b22e%re0\n"
     ]
    }
   ],
   "source": [
    "print (\"This is my first Jupyter Notebook.\")\n",
    "\n",
    "file_resolvconf = \"/etc/resolv.conf\"\n",
    "with open (file_resolvconf, 'r') as fh:\n",
    "    for line in fh:\n",
    "        print (line.rstrip ())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b807af0f",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}

fig_202207/jupyter_10.png

以前に保存しておいた Notebook を読み込んで、もう一度実行したり、新たな コードを追加したり、以前のコードを修正したりしたい場合には、 Jupyter Notebook を起動したときに見られる画面で、 ipynb の拡張子のファイルを選 べばよいでござる。或いは、既にどれかの Notebook を扱っている状態であれ ば、 "File" から "Open..." を選べば、ファイルを選 択する画面が現れるでござる。

fig_202207/jupyter_11.png
fig_202207/jupyter_12.png
fig_202207/jupyter_13.png
fig_202207/jupyter_14.png

個人的には、お気に入りのテキストエディターでないと、効率的にキーボード による入力ができないと思うので、 Jupyter Notebook を使って直にコードを 書き込むことが好きになれないでござる。多くの人は、テキストエディターの 便利な機能を使っていないから Jupyter Notebook でコードを書き込むことに 不便さを感じない、ということなのでござろうか。それとも、 Jupyter Notebook は、他人のコードをもらってきて、それを実行するもので、多少の 修正をすることはあっても、自分でコードを一から書くということはほとんど ない場合が多い、ということなのでござろうか。



Frequently accessed files

  1. Computer___Python/20220518_0.html
  2. Computer___Network/20230726_00.html
  3. Misc___Taiwan/20240207_00.html
  4. Computer___Network/20230516_00.html
  5. Computer___FreeBSD/20220621_0.html
  6. Computer___Python/20220715_0.html
  7. Computer___Network/20230508_00.html
  8. Food___Taiwan/20220429_0.html
  9. Computer___Network/20240130_00.html
  10. Computer___NetBSD/20220817_3.html
  11. Computer___Python/20220410_0.html
  12. Computer___Network/20240416_00.html
  13. Computer___NetBSD/20230119_00.html
  14. Computer___Debian/20210223_1.html
  15. Computer___Python/20221013_0.html
  16. Computer___Python/20210124_0.html
  17. Computer___NetBSD/20220428_0.html
  18. Computer___NetBSD/20220818_1.html
  19. Computer___NetBSD/20240101_02.html
  20. Science___Math/20220420_0.html
  21. Computer___Python/20240101_00.html
  22. Computer___NetBSD/20220808_0.html
  23. Computer___TeX/20230503_00.html
  24. Science___Astronomy/20220503_0.html
  25. Computer___NetBSD/20230515_00.html
  26. Computer___Network/20220413_1.html
  27. Computer___NetBSD/20210127_0.html
  28. Computer___TeX/20231107_00.html
  29. Computer___Python/20220816_1.html
  30. Computer___Python/20230717_01.html


HTML file generated by Kinoshita Daisuke.