🍎

M1 Mac で Python環境 (JupyterLab App編)

3 min read

はじめに

JupyterLab のデスクトップアプリ版がリリースされました。
M1 Macでは、Python環境構築でハマるケースが多いようなので、まずはJupyterLab Appで色々試してみることにします。
ひとまず、本記事ではインストール方法まで記載します。

https://github.com/jupyterlab/jupyterlab_app

インストール

  1. 公式サイトから、macOS Installerをダウンロードします。
  2. JupyterLab-Setup-macOS.pkgを起動し、手順に従ってインストールします。
  3. アプリケーションフォルダに、JupyterLabができていることを確認します。

起動確認

上記インストール作業だけで、Pythonに加えてpandasなどのライブラリも準備されていることを確認します。

  1. JupyterLabを起動すると、ランチャーが表示されます。
    起動画面
  2. Notebookを新規作成し、サンプルデータをpandasで読み込めることを確認します。
    以下では、https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csvのサンプルデータを読み込んでいます。
    サンプルデータ
  3. Terminalは、後述するパッケージ管理で利用します。(ここでは特に確認しません。)

環境確認

JupyterLab AppのPython環境について、次のことを確認します。

  • Python本体やパッケージの管理構成 (がシステムと独立していること)
  • Pythonのバージョン
  • インストールされているパッケージ

以降、Notebookのセルからコマンドを実行する例として記載します。通常のシステムコマンドの先頭に!を付加したものです。

インストール場所

Python本体は!which python、パッケージ管理システム(conda)は!which condaで確認します。
どちらも、JupyterLab.app/Contents/Resources/jlab_server/bin/配下のパスが表示されると思います。
したがって、JupyterLab Appが利用するPythonやパッケージは、システムと独立して管理されていることが分かります。環境のアンインストールもJupyterLab.app自体を削除すれば良いことになります。

Python本体のバージョン

!python --versionで確認します。Python 3.8.12などと表示されます。

パッケージのバージョン

!conda list[1]で、インストール済のパッケージリストを確認します。下記の表示がされます。

# Name                    Version                   Build  Channel
anyio                     3.3.0            py38h50d1736_0    conda-forge
appnope                   0.1.2            py38h50d1736_1    conda-forge
argon2-cffi               20.1.0           py38h96a0964_2    conda-forge
async_generator           1.10                       py_0    conda-forge
(以下省略)

なお、特定のパッケージのみ抽出したい場合は、!conda list pandasのようにパッケージ名を指定します。

パッケージ管理

ここでは、パッケージのインストール(追加)・アップデート(更新)・アンインストール(削除)の方法について記載します。
pandas-datareaderというパッケージを例にしますが、pandas-datareaderを置き換えれば、他のパッケージにも適用可能です。

以降、Terminalを用いた例を記載します。Notebookだと標準入力を受けるコマンドなどがうまく動作しないケースがあるためです。[2]
また、JupyterLab.appが置いてある場所によっては、パーミッションの問題でconda installなどが失敗することがあります。その場合は、sudoを全コマンドの冒頭に付けて実行してください。

インストール

conda install pandas-datareaderで、インストールします。
完了後に、conda list pandas-datareaderで、バージョンを確認します。(下記例では0.10.0が入っています)

# Name                    Version                   Build  Channel
pandas-datareader         0.10.0             pyh6c4a22f_0    conda-forge

アップデート

conda update pandas-datareaderで、アップデートします。
途中で、依存パッケージもアップデートするか聞かれることがあります(Proceed ([y]/n)?)。特別な事情がなければyを選択してください。
既に最新版になっている場合は、# All requested packages already installed.と表示されます。

アンインストール

conda uninstall pandas-datareaderで、アンインストールします。
途中で、依存パッケージもアンインストールするか聞かれることがあります(Proceed ([y]/n)?)。特別な事情がなければyを選択してください。

脚注
  1. あくまで私見ですが、pipではなくcondaを利用したほうが良さそうです。pip installでインストールしたパッケージは、conda listには反映されませんでした。逆にconda installでインストールしたパッケージは、pip listにも反映されていたためです。詳しい方いらっしゃれば情報頂ければと思います。 ↩︎

  2. 初めてPython環境をセットアップする方は、TerminalNotebookcondaコマンドの場所は同じだと思いますが、気になる方はwhich condaで指し示している場所が同じか確認してください。 ↩︎

Discussion

ログインするとコメントできます