0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

無料クラウドサービスでJupyter Labを使ってみる ~Miniconda導入編~

Last updated at Posted at 2022-01-24

Google Cloud ShellでのMinicondaによる活用方法

Minicondaとは?

前回の投稿から引き続きJupyter Lab(以下Lab)の導入をメインに解説します。

今回はCloudShellに導入済みのPython環境ではなく、別途MinicondaでPythonを導入して、Labをインストールします。

まずMinicondaとは何か? ベースとしてGUIを備えたフルセット版のAnacondaというPythonディストリビューションがあり、パッケージマネージャや仮想環境の機能を有しています。
そのAnacondaをテキストベースの環境向けにチューニングした、小型で軽量のサブセットがMinicondaという位置付けになります。

CloudShellはユーザーが使えるディスク容量が限られているため、追加でPython環境を導入することはディスク容量を消費するという点では不利な部分も有りますが、それを補う利点も挙げておきます。

  • CloudShellと異なるバージョン(2022年1月現在で3.9まで)のPythonおよび、node.jsでもLabを導入できる。

  • Pythonとは関連の無い、その他の便利なツールやデータベースやWebサーバーなども導入できる。

  • Cloudshellに入っていないプログラミング言語もいくつか用意されて、より多彩なカーネルが利用できるようになる。

CloudShellは開発環境が整っているので、ソースコードからビルドすればよいと言われそうですが、やはりパッケージマネージャで管理できるほうが何かと便利だと思います。

まずはMinicondaのインストール

公式サイトから下記のコマンドでインストーラーをダウンロードします。ホームディレクトリでの作業と仮定します。

$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

ダウンロードしたら、パーミッションを実行可能に変更して、下記のオプションを付加してスクリプトを実行。しばらく待つとインストールが完了します。

$ chmod u+x Miniconda3-latest-Linux-x86_64.sh

$ ./Miniconda3-latest-Linux-x86_64.sh -sb

Micinonda環境の運用を開始

Minicondaは仮想環境の機能を備えていますが、CloudShellはディスクの空き容量との戦いですので、複数の仮想環境を使い分けるという運用は、あまり現実的ではなく、常にbase環境を使う方法が無難かと思います。
必要に応じて、下記のコマンドでbase環境に切り替え出来ます。

$ source ~/miniconda3/bin/activate

もしくはMiniconda環境をPATHに通しておいてもかまいませんが、ここではフルパスで指定して進めていきます。
またPythonのパッケージはcondaコマンドでもpipコマンドでも可能です。
しかし最近はCloud Shellのアップデートが早く、MicinondaのPython3のマイナーバージョンが一致するため、ユーザーローカルのパッケージが競合し、pipコマンドではパッケージがインストールできなくなることがあります。
そのためpipコマンドに比べると少々時間がかかりますが、condaコマンドでインストールするのが無難になります。では早速Labのインストールを下記のコマンドで行います。

~/miniconda3/bin/conda install -c conda-forge jupyterlab==3.1.8

これでシステムにインストールされているnode.jsを使ってLabが起動できるようになりますが、そのままではセキュリティに阻まれてLabを使えませんので、前回の記事を参照して対処する必要が有ります。

準備ができたら、下記のようにバックグラウンドで起動するとよいでしょう。

$ ~/miniconda3/bin/jupyter lab &

Minicondaをさらに活用する

condaコマンドを駆使すれば、さらに幅広くMinicondaを活用できます。下記の形式で指定のパッケージをインストールできます。

$ ~/miniconda3/bin/conda -c channel名 パッケージ名

個人的に利用実績のある、下記のパッケージを紹介させていただきます。

ユーティリティ

channel パッケージ 説明
conda-forge p7zip 7-Zip形式アーカイバ
conda-forge aria2 高機能ダウンローダー
conda-forge lftp 高機能ftpクライアント
conda-forge shellcheck Bashスクリプト文法チェッカー
conda-forge bats-core Bashスクリプトテストツール
conda-forge gh GitHubクライアントコマンド

サーバー・データベース

channel パッケージ 説明
birdhouse apache-tomcat Javaアプリケーションサーバー
ostrokach mariadb-server リレーショナルデータベース
conda-forge nginx Webサーバー
conda-forge lighttpd Webサーバー
conda-forge openldap ディレクトリサービス
conda-forge postgresql リレーショナルデータベース
conda-forge mongodb NoSQLデータベース

プログラミング言語

channel パッケージ 説明
bioconda scala プログラミング言語Scala
conda-forge openjdk Java開発キット
conda-forge nodejs JavaScript実行環境
conda-forge rust プログラミング言語rust
conda-forge erlang プログラミング言語erlang
conda-forge julia プログラミング言語julia

condaパッケージもインストール後は下記コマンドでキャッシュデータを削除して、ディスクの空き容量を確保しましょう。

$ ~/miniconda3/bin/conda clean --all

Webサーバーなど外部に公開は出来ませんが、開発中のちょっとしたテスト環境としては割と便利ではないかと思います。いずれそのうちにWebサーバーやデータベースのセットアップについても投稿してみたいと思っています。

他にも様々なパッケージが入手できるようですが、CloudShellにインストールされているライブラリが依存関係を満たせず、実行できないものも多々存在するようです。

今後利用できるパッケージの種類が増えていけば、より便利に利用できるのではないかと期待しています。

image.png

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?