📖

Ubuntu環境へのソフトウェアのインストール Part_I コマンド編

2022/12/08に公開

0. 記事の内容

群馬県産業技術センターではAI技術等をはじめとしたデジタル技術を広く県内企業の方にも活用頂けるようデジタルソリューションラボ [外部リンク] 等を通じて情報の提供を行っています。
ここでは、Ubuntu 20.04 LTSにソフトウェアをインストールするときの代表的な手順と注意点についてまとめました。

1. 目的

近年、IoTやAI、機械学習などの技術が普及し、そのような技術の紹介や解説等にも文献やインターネット等を通じて触れる機会が多くなってきています。

しかし、個人や企業の方が、実際にそれらの内容を確認しようとしたときに、プログラムのインストールでエラーが発生したりして、紹介されている内容を確認できないこともよくあります。特に、IoTやAIなどでは一般に用いられているWindowsパソコンの利用に加え、無料のオペレーティングシステムであるPC-UNIXベースのものが利用されていることも多く、その構成や操作法に慣れていないために上手く環境の構築ができないこともあります。

Windowsでは、ソフトウェアのインストールは、専用のインストーラーを用い、設定すべき項目もほぼ決まっているためにそれほど、苦労をせずに行うことができます。一方、PC-UNIXベースのシステムでは、ソフトウェアがパッケージとしてまとめられていてもその管理ツールが複数あり、「混ぜるな危険」と言われるようにそれらを併用するときは注意が必要です。そして、オペレーティングシステムのバージョンに注意して事前に資料等を確認し、インストールする環境に合ったソフトウェアのバージョンを選択することが重要です。

ここでは、PC-UNIXのLinux系のディストリビューションの1つであるUbuntuにソフトウェアをインストールして環境を構築するときの手順と注意点を示すと供に、紹介した4種類の方法を用いて具体的にPythonの統合開発環境IDEとしてよく利用されているSpyderのインストールの手順を示します。

2. Ubuntuの環境

2-1. 実装環境

Ubuntuはパソコンやマイコンなどのオペレーティングシステムとして広く利用されていますが、文献やインターネットに掲載の内容を実際に確認しようとすると最初にUbuntuの環境を準備する必要があります。ここでは、パソコン等の既存の環境に影響を与えずにUbuntuの環境を準備する方法について示します。

2-1-1. ハードマシン

(OSのインストールを含む)

(1) 個別パソコン
予算等の状況が許すのであれば、個々の環境に応じてパソコンを準備するのが他のシステムに影響を与えず理想的です。また、作業時間は掛かりますが、バックアップソフトを利用してハードディスク全体のバックアップとリストアで複数のシステムを使い分けることも可能です。

バックアップソフトとしては、フリー版も含めインターネット等で入手できるものもありますので、状況に合わせて検討をされるとよいと思います。バックアップソフトウェアMiniTool ShadowMaker Free 3.6の画面を図2-1に示します。


図2-1 MiniTool ShadowMaker Free 3.6

(2) リムーバブルケースの利用
1台のパソコンでハードディスクや半導体ドライブを交換して、新たなパソコンを準備したのと同様な状態とすることができます。
Windows用とUbuntu用のSSDを設定したリムーバブルケースをボタンスイッチで切り替えて使用するパソコンの例を図2-2に示します。


図2-2 リムーバブルケースを設定のPC

(3) USBメモリ等の外部装置
USB経由で接続した外付けのハードディスクや半導体ドライブを起動ドライブとして設定すると、既存のパソコン等の状態を変えずにシステムを構成することが可能です。
但し、起動ドライブの設定やアクセス速度等の問題に注意が必要です。
SATA-USB変換アダプタを介してSSDを外付けドライブとした例を図2-3に示します。


図2-3 外付けSSDドライブ

(4) マイコン
Ubuntuやそれをベースとした同様の操作性をもつオペレーティングシステムを実装可能なRaspberry PiやJetson等の低価格なマイコンを容易に入手できるようになって来ています。
これらのシステムではオペレーティングシステムをmicro SDカードなどの外部メディアに設定しますので、メディアごとにUbuntuの実装環境を設定し、差し替えにより使い分けることも可能です。
Raspberry Pi とmicro SDカードの例を図2-4に示します。


図2-4 Raspberry Pi と microSD Card

2-1-2. ホスト型仮想化 (仮想マシン)

仮想マシンはパソコンなどの物理的なマシンの環境をソフトウェアとして仮想的に構築するもので、新たにオペレーティングシステムをインストールします。
1つのパソコンで稼働しているオペレーティングシステムのアプリケーションソフトウェアのVirtualBox、VMWare、Parallels等の仮想化ソフトウェアにより仮想マシンを作成し、新たにオペレーティングシステムをインストールします。ホストOSとゲストOSを同時に稼働させることになります。

但し、仮想マシンに設定するソフトウェアが仮想化ソフトウェアの利用しているHyper-Vと衝突するなど、状況により不具合が発生して設定できないものもありますので、すべての環境を仮想マシンで構成できる訳ではありません。仮想化ソフトウェアにも依存しますので注意が必要です。

複数のUbuntuやWindowsの仮想マシンが構築されたWindows 10のVirtual BoxからUbuntu 20.04を起動してTerminalソフトからディレクトリのリスト表示をさせた状態を図2-5に示します。


図2-5 VirtualBoxで起動のUbuntu

2-1-3. コンテナ型仮想化 (仮想環境)

仮想環境は1つのパソコンで稼働しているオペレーティングシステム上にプロセスやユーザなどを隔離したプログラムの実行環境を作成するもので、新たなオペレーティングシステムのインストールは行いません。

ここでは、何通りかあるPythonの仮想環境の作成方法からvenvとAnacondaとDockerについて示します。Pythonのバージョン、インストールされるライブラリの種類やバージョンなどの環境を切り替えて利用できます。

(1) venv
Terminalからのコマンドで仮想環境の作成や切り替えを行いますが、GUI対応のアプリケーションプログラムをコマンドにより起動することもできます。

python -m venv <仮想環境名>          <= 仮想環境の作成
source <仮想環境名>/bin/activate     <= 仮想環境に入る

    ---仮想環境内の作業---

deactivate                           <= 仮想環境から抜ける

実際にvenvによる仮想環境を仮想環境名kasou_envで作成し、仮想環境に入って、ファイルのリスト表示を行って抜けたときの様子を図2-6に示します。仮想環境に入るとプロンプトの先頭に( )内に仮想環境名が表示されますので、仮想環境に入っていることが分かります。


図2-6 venvによる仮想環境

ここで、仮想環境の構築のときに図2-7に示すpython-venvのインストールが必要とのメッセージが表示された場合は、venvパッケージを次のコマンドにより設定する必要があります。

sudo apt-cache madison python3-venv
sudo apt install python3-venv


図2-7 venvパッケージのインストール

(2) Anaconda Navigator
Anacondaは、Pythonの配布形態の1つで、Pythonを利用した科学計算の環境を容易に構築することができ、色々な利用例も紹介されています。
また、インストールを行った後、デフォルトでは仮想環境baseに入りますが、GUI操作で仮想環境の作成、切り替え、パッケージのインストール、環境に対応したTerminalの起動等を行うことができます。

Anacondaを起動したときのNavigatorのHome画面を図2-8、パッケージのリストを図2-9にそれぞれ示します。また、Navigatorの左側のEnvironmentsのタブを選択して、下段の「Create」ボタンをクリックしてPythonのバージョン3.8が設定された仮想環境python38_envを作成する様子を図2-10に示します。


図2-8 Anaconda Navigator


図2-9 パッケージのリスト


図2-10 仮想環境の作成

Anaconda-NavigatorからEnvironmentsで選択した仮想環境の状態でTerminalを起動することができます(図2-11)。仮想環境に入っていることはプロンプトの先頭に( )内に仮想環境名が表示されることで分かります。
また、Terminalからcondaコマンドによりパッケージのバージョンを指定してインストールすることもできます。


図2-11 Terminalの起動

UbuntuのTerminalを直接、起動したときは、インストール時の設定によりAnacondaの仮想環境baseに入った状態となりますが、別の仮想環境への切換えや仮想環境から抜けて、Anacondaのインストール前のUbuntuのデフォルトの状態とすることもできます。
Terminalでの仮想環境の切り替えは以下により行えます。

conda activate <仮想環境名>       <= 仮想環境に入る()

    ---仮想環境内の作業---

conda deactivate                 <= 仮想環境から抜ける

() <仮想環境名>を省略するとデフォルトのbaseの仮想環境に入ります。

Terminalを直接、起動して仮想環境に入る前のUbuntuの導入時の環境の状態から仮想環境に切り替えたとき、および仮想環境から抜けたときのそれぞれの環境でのPythonのバージョンを表示させた様子を図2-12に示します。仮想環境では、構築時にPythonのバージョンを3.8と指定しましたので、最新版の3.8.13が導入され、pythonコマンドによりpython3.8が起動されるようにリンクの割当ても行われていることが分かります。


図2-12 仮想環境の切り替え

(3) Docker
1つのパソコンのオペレーティングシステムで稼働しているDocker Engine(常駐プログラム)からコンテナと呼ばれる実行環境(ミドルウェアの環境)を構築し、その中でアプリケーションを動作させます。
実際にOSはインストールしませんが、OSレベルの仮想化によりUbuntuの環境を構築することができます。

TerminalでDockerコマンドによりコンテナのUbuntu 20.04の環境に入り、コマンドを実行し、抜けたときの様子を図2-13に示します。


図2-13 DockerによるUbuntuの起動

また、DockerはDocker DesktopによりGUIによる操作も可能です。Docker DesktopからVNC接続できるコンテナを起動し、Webブラウザに接続されたUbuntuのコンテナのDesktop上に、YahooへのWeb接続とTerminalでコマンドを実行した様子を図2-14に示します。


図2-14 WebブラウザによるUbuntuのDockerコンテナへの接続

2-2. ソフトウェアのインストール

2-2-1. UNIX系OSの手順

UbuntuなどのUNIX系のOSでは、一般にソフトウェアを 拡張子が「.tar.gz」のファイルで配布し、tarコマンドによるファイルの解凍、makeコマンドによるソースプログラムのコンパイルとインストールを行います。一方、解凍だけでインストールの出来る場合などもあり、対応は「.tar.gz」の内容により異なります。

また、インストールの手順をシェルスクリプトで記述した拡張子が「.sh」のファイルで配布される場合もあります。インストールは「.sh」のファイルに実行権を設定して実行したり、bash等のシェルにより実行したりすることで行います。

これらのファイルの取得方法も種々ありますが、ここでは Anacondaのインストーラーの「.sh」ファイルの取得を例に4つの方法を示します。
ファイルはインターネットのURLが https://repo.anaconda.com/archive/ のフォルダの Anaconda3-2021.11-Linux-x86_64.sh (580MB)です。

(1) Webブラウザ
サーバー側のシステムが対応している場合、例えば、WebブラウザのFirefoxでURLのフォルダを表示し、目的のファイルの右クリックメニューから「Save Link As」または「名前をつけてリンク先を保存」を選択してダウンロードできます(図2-15)。
また、FTPサーバーで提供されているときは、ftpのプログラムを利用してダウンロードすることもできます。


図2-15 Webブラウザでのファイルのダウンロード

(2) wgetコマンド
wgetコマンドは、HTTPサーバーやFTPサーバーからファイルを取得するダウンローダです。特徴の1つとして設定されたファイルおよび設定されたディレクトリ以下のすべてのファイルをダウンロードすることができます(図2-16)。

wget https://repo.anaconda.com/archive/Anaconda3-2021.11-Linux-x86_64.sh


図2-16 wgetでのファイルのダウンロード

(3) curlコマンド
curlコマンドは、FTPやHTTP、HTTPSなどのさまざまな通信プロトコルでデータの送信および受信が可能です。そして、オプション「-O」によりURLで指定のファイルをダウンロードできます(図2-17)。

curl -O https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux-x86_64.sh


図2-17 curlでのファイルのダウンロード

(4) gitコマンド
gitコマンドは、ファイルのバージョン管理を行うGitシステムに保存された様々なファイルをダウンローして複製を作ることができます。
複製元のリポジトリパスと保存するときのディレクトリ名(省略可能)を次のコマンドで設定します。

git clone リポジトリパス  ディレクトリ名

AnacondaのインストーラーはGitに登録されていないようなので、gitコマンドでOpen model zooをダウンロードする設定を示します。
カレントディレクトリに設定した名前のディレクトリが作成され、lsコマンドで確認するとサブディレクトリ以下のファイルがダウンロードされていることが分かります(図2-18)。

git clone --recurse-submodules https://github.com/openvinotoolkit/open_model_zoo.git

ここで、--recurse-submodulesの指定はsubmoduleまで含めてcloneするオプションです。


図2-18 gitでのファイルのダウンロード

【参考】
wgetまたはcurlで取得したインストーラーは、ファイルのあるディレクトリに移動後、bashシェルによりコマンドを実行することで起動することができます。Ubuntu 20.04でも動作しますが、Anaconda Navigatorを使用する場合はQt拡張パッケージを事前にインストールする必要があります。

sudo apt install libgl1-mesa-glx libegl1-mesa libxrandr2 libxss1 libxrandr2 \
                 libxcursor1 libasound2 libxcomposite1 libxi6 libxtst6
bash ./Anaconda3-2021.11-Linux-x86_64.sh

※「\」は継続行のためのもので、続けて入力するときは不要です。

2-2-2. aptコマンドによるインストール

aptコマンドは、Debian系の Linuxディストリビューションで採用されているパッケージ管理システムで、依存関係にあるパッケージも含めて全てのインストールを行います。
Ubuntuの公式のリポジトリにあるパッケージをインストールするため、不具合の発生する確率の少ないインストール方法と考えらます。

インストール可能なパッケージに関する情報は以下のサイトから確認出来ます(図2-19)。
https://packages.ubuntu.com/ja/


図2-19 Ubuntuパッケージのサイト

インストールしようとしているUbuntuのバージョンに合ったパッケージとそのバージョンの確認は、Terminalから、apt-cacheコマンドを用いても確認できます。また、対応するパッケージが複数ある時は、バージョンを指定してインストールすることも可能です。
Terminalから管理者(admin)権限でaptコマンドを実行します。

sudo apt-cache madison <パッケージ名>
sudo apt install <パッケージ名>=バージョン

2-2-1節の(4)のgitコマンドのパッケージの検索とインストールの例を図2-20に示します。


図2-20 gitパッケージの検索とインストール

2-2-3. condaコマンドによるインストール

AnacondaをインストールするとGUIの操作環境Anaconda-Navigatorもインストールされます。UbuntuではTerminalからanaconda-navigatorと入力して起動できます。
Navigatorでのパッケージのインストールは、Environmentsから仮想環境を選択し表示されるパッケージのリストから選択して行うことができます。

ここでは、パッケージのバージョンを指定したインストールも含め、Terminalからcondaコマンドによりパッケージをインストールする手順を示します。
また、condaコマンドを実行する前にTerminalはパッケージをインストールする仮想環境に切り替えておく必要があります。

Anacondaのパッケージに関する情報は以下のサイトで検索して確認出来ます(図2-21)。
https://anaconda.org/anaconda/repo


図2-21 Anacondaのパッケージ情報

【参考】
NavigatorのリストにあるSpyderのバージョンが5.3.3の場合、Ubuntu 20.04に正式対応となっていませんので、Spyderをインストールしても正常に動作しない可能性があります。最新のSpyderのバージョン5.3.2はUbuntu 22.10 (Kinetic Kudu、2022年10月20日リリース)で対応となっています。

(1) パッケージのインストール(オンライン)
Anacondaのサイトに掲載のインストール用のcondaコマンドをコピーして利用できます。
但し、インストールされるバージョンは最新のものですので、必要に応じてパッケージのバージョンを設定する必要があります。バージョンは、Filesタブのページにあるファイル名またはTerminalからconda searchコマンド等で確認することができます。

conda install -c anaconda <パッケージ名>
conda install -c anaconda <パッケージ名>=バージョン

※ -c anacondaは省略可能です。

(2) パッケージのインストール(オフライン)
AnacondaのサイトのFilesタブのページの「.tar.gz」や「.tar.bz2」のファイルなどをダウンロードしてcondaコマンドによりインストールできます。
但し、3-1-1節で述べるようにファイルの依存関係から上手くインストールできない場合もありますので注意が必要です。

conda install 〇〇.tar.gz
conda install 〇〇.tar.bz2

(3) バージョンを指定したインストール
condaコマンドまたはanacondaコマンドによりTerminalからパッケージの情報を確認できます。
anacondaコマンドは、デフォルト以外のチャネルも含めて広範囲に検索、表示します。
但し、環境によってはcondaコマンドによるanacondaコマンドのインストールが必要となります。

conda search <パッケージ名>
conda search -c conda-forge <パッケージ名>
anaconda search <パッケージ名>

インストールは、必要に応じてパッケージ名のバージョンや対応する動作環境等も含めたビルド情報を指定して行うこともできます。

conda install パッケージ名=バージョン=ビルド情報

2-2-4. pipコマンドによるインストール

pipコマンドは、PyPI(Python Package Index)のPythonパッケージをインストールや管理を行うためのものです。
condaコマンドがAnacondaのPythonパッケージのインストールや管理を行うためのサービスであるのと同様ですが、現状では両者のソフトウェアの管理方法が異なりますので併用は難しく、使い分けが必要となります。仮に併用せざるを得ない場合でも、十分注意してインストールする必要があります。

また、pipによるパッケージのインストールは「python -m pip コマンド」とする方法と「pipコマンド」を直接 設定する方法の2つがありますが、動作としてはどちらも同じです。

pipコマンドでのパッケージのインストール手順は以下のようになります。

(1) パッケージの確認
インストールできるパッケージはPyPIのサイト https://pypi.org/ からパッケージ名を設定して検索することで確認できます(図2-22)。過去のバージョンも各パッケージのリリース履歴(Release history)から確認できます。


図2-22 PyPIのサイト

(2) インストール
インストールは、パッケージ名のみのデフォルト設定またはバージョンを指定して行うことができます。バージョンを指定するときは=を2つ続けますので注意が必要です。

PyPIのパッケージのサイトには、インストール用のコマンドも掲載されていますので、それをコピーして利用することもできます。

pip install <パッケージ名>
または
pip install <パッケージ名>==バージョン

(3) ファイルのダウンロードによるインストール(オフライン)
バージョンに対応した「.tar.gz」や「.whl」のファイルをダウンロードしてオフラインでインストールすることもできます。

カレントのディレクトリに依存ファイルも含めてpipコマンドでファイルをダウンロードしてインストールを行うコマンドは以下となります。ここで、バージョンを設定しないときは、デフォルトのものとなります。

ダウンロード
pip install  --no-binary :all: <パッケージ名>==バージョン
または
pip download --no-binary :all: <パッケージ名>==バージョン

インストール
pip install <パッケージ名>

【参考】
Jupyterの利用時に !pip によりインストールしたライブラリは、Jupyterを起動した環境に対して行われるため、Anacondaの環境からJupyterを起動したときは、!pipによりライブラリをインストールするとシステムが不安定になることがあるようです。「混ぜるな危険」に注意してください。

3. ソフトウェアの導入例

3-1. 統合開発環境 Spyder

第2章で紹介した4種類のインストール方法によりPythonの統合開発環境IDEとしてよく利用されているSpyderをインストールする手順を示します。

設定するUbuntu 20.04 LTSの環境に対応し、さらにインストールされているPythonのバージョン3.8.* にも対応するように、Spyderのバージョンを確認して導入します。

3-1-1. curlコマンドによるインストール

AnacondaのPackage情報のサイトのFilesタブ https://anaconda.org/anaconda/spyder/files からUbuntu 20.04にインストール可能なSpyderのバージョン3.3.6は、Python 3.7までで、3.8.* に対応したファイルはありません。ここでは、Python 3.8に対応したSpyderのバージョン4.1.5をダウンロードし、condaコマンドによりインストールを行います。

condaコマンドの利用には、予めAnacondaをインストールしておく必要があります。また、ここではAnacondaの仮想環境python38_envにSpyderをインストールしますが、ダウンロードしたSpyderのファイルは依存関係まで対応しないため、インストールは行えてもモジュールが不足の旨のエラーが表示され起動できません。

(a) curlコマンドの確認
Termianlで「curl --version」と入力して、エラーが表示された時は、curlコマンドがインストールされていませんので、aptコマンドによりパッケージを確認し、インストールする必要があります(図3-1)。

sudo apt-cache madison curl
sudo apt install curl


図3-1 curlのインストール

(b) curlコマンドでのダウンロード
Termianlからcurlコマンドでカレントディレクトリにファイルをダウンロードします(図3-2)。

curl -O https://anaconda.org/conda-forge/spyder/4.1.5/download/ \
        linux-64/spyder-4.1.5-py38h32f6830_0.tar.bz2

※「\」は継続行のためのもので、続けて入力するときは不要です。


図3-2 Spyderのダウンード

Anacondaのサイトにも同様なSpyderの.tar.bz2ファイルがありますが、こちらのものはファイル容量も小さく、condaコマンドでは解凍の段階でエラーとなります。

curl -O https://anaconda.org/anaconda/spyder/4.1.5/download/ \
        linux-64/spyder-4.1.5-py38_0.tar.bz2

(c) インストール
Terminalからcondaコマンドでインストールを行います(図3-3)。

conda install spyder-4.1.5-py38h32f6830_0.tar.bz2


図3-3 Spyderのインストールと起動時のエラー

(d) Spyderの実行
Terminalからspyderと入力してリターンキーを押して実行すると、図3-3のようにモジュールzmqが見つからない旨のメッセージが表示され起動できません。

3-1-2. aptコマンドによるインストール

Ubuntu 20.04に公式に対応し、Pythonのバージョン3.8にも対応のSpyder 3.3.6をインストールします。

(a) Ubuntuのパッケージサイトで確認
Ubuntuのパッケージ情報のサイト https://packages.ubuntu.com/ からSpyderで検索を行い、Ubuntu 20.04 LTSに対応した[forcal]を選択し、現れた検索結果から「spyder パッケージ」または「python3-spyder パッケージ」を選択します(図3-4、図3-5)。

現れた画面からインストールされるSpyderのバージョンは3.3.6で、Python3.8に依存していることが分かります。また、spyderはpython3-spyderに依存し、同じものがインストールされることも分かります(図3-6)。


図3-4 Ubuntuのパッケージサイト


図3-5 Spyderの検索結果(forcal)


図3-6 Spyderのバッケージ

(b) Terminalからapt-cacheコマンドで確認
Terminalから管理者(admin)権限で、パッケージ一覧の更新に続いてapt-cacheコマンドで検索を行います(図3-7)。

sudo apt update

sudo apt-cache madison spyder
または
sudo apt-cache madison python3-spyder

検索結果からインストールできるSpyderのバージョンは 3.3.6で、64ビットと32ビットのもののあることが分かります。また、この結果からもspyderとpython3-spyderは、同じものがインストールされることも分かります。


図3-7 Spyderのapt-cacheによる検索

(c) Terminalからインストール
Terminalから管理者(admin)権限で、aptコマンドによりインストールができます(図3-8)。

sudo apt install spyder=3.3.6+dfsg1-4build1

ここではインストールされるものが3.3.6の1種類しかありませんので、=3.3.6+dfsg1-4build1のバージョン指定は行わなくてもインストール可能です。


図3-8 Spyderのイスントール

(d) Spyderの実行
Terminalからspyderと入力してリターンキーを押すと起動できます(図3-9)。また、Ubuntuのデスクトップの左下の3×3の点の並んだアイコンをクリックして表示されるアプリケーションの中にSpyder3があれば、そのアイコンをクリックしても起動できます。

ここで、Spyderの起動時に最新版のバージョン5.3.3等へのアップデートのメッセージが表示されますが(図3-10)、Ubuntu 20.04に正式に対応していないため、導入後に不具合の発生する可能性もありますので、注意が必要です。


図3-9 Spyderの起動


図3-10 Spyderのアップデートメッセージ

3-1-3. condaコマンドによるインストール

AnacondaのパッケージサイトからUbuntu 20.04にインストール可能なSpyderのバージョン3.3.6は、Python 3.7までの対応となっています。ここでは、代わりにPython 3.8に対応したSpyderのバージョン4.1.5をダウンロードし、condaコマンドによりインストールを行います。但し、非公式のため不具合の発生する可能性もあります。

(a) パッケージの確認
Anacondaのパッケージサイト(2-2-3節) https://anaconda.org/anaconda/repo で、Spyderを検索するとanaconda/spyderとconda-forge/spyderのあることが分かります(図3-11、図3-12)。前者は公式版、後者はコミュニティが主体となって管理しているパッケージコレクションです(図3-13、図3-14)。いずれもバージョンが5.3.3で、linux-64に対応していることは分かりますが、対応するUbuntuのバージョンについては分かりません。Ubuntuのパッケージ情報等から確認するとインストールしようとしているUbuntu 20.04ではSpyderのバージョン3.3.6が対応したものですが(図3-6)、インストール環境のPython3.8に対応したファイルがAnacondaのfilesタブ https://anaconda.org/anaconda/spyder/files にありません(図3-15)。conda-forgeの場合も同様です。ここでは、3-1-3節と同様にPython3.8に対応したSpyderのバージョン4.1.5をインストールします(図3-16)。


図3-11 Anacondaのバッケージサイト


図3-12 Spyderの検索結果


図3-13 Spyderのバッケージ(anaconda)


図3-14 Spyderのパッケージ(conda-forge)


図3-15 Spyderのパッケージ(バージョン 3.3.6)


図3-16 Spyderのパッケージ(バージョン 4.1.5)

(b) インストール(オンライン)
TerminalからPython 3.8のインストールされているAnacondaの仮想環境内でcondaコマンドを実行することにより、Spyderバージョン4.1.5をインストールできます。

conda install -c anaconda spyder=4.1.5
または
conda install -c conda-forge spyder=4.1.5-c anacondaは省略可能です

(c) インストール(オフライン)
conda-forgeサイトからPython 3.8対応のバージョン4.1.5のファイルをダウンロードし、condaコマンドによるインストールは、3-1-1節で述べましたように、依存関係まで考慮したインストールはできないようです。

(d) バージョンを指定したインストール
同じ条件のSpyderをcondaコマンドでanacondaまたはconda-forgeサイトで確認し(図3-17、図3-18)、ビルド情報まで設定してインストールするときは、以下となります。

conda search spyder
conda install spyder=4.1.5=py38_0
または
conda search -c conda-forge spyder
conda install -c conda-forge spyder=4.1.5=py38h32f6830_0


図3-17 conda searchによるSpyderの検索(anaconda)


図3-18 conda searchによるSpyderの検索(conda-forge)

また、anacondaコマンドによるSpyderの検索結果を図3-19に示します。出力が折り返されて表示されるため、分かり憎いのですが、中段にあるanaconda/spyderの部分から、左よりanacondaのサイトにあるspyderは、バージョンが5.3.3で、パッケージのタイプはconda、64ビットのARMを採用したOSXや64ビットのLinuxなどのオペレーティングシステムに対応し、Python3.5や3.7、2.7などでビルドされていることが分かります。インストール手順は、condaで確認した場合と同様です。


図3-19 anaconda searchによるSpyderの検索

(e) Spyderの実行
Terminalからspyderと入力してリターンキーを押すと起動できます(図3-9)。または、Ubuntuのデスクトップの左下の3×3の点の並んだアイコンをクリックして表示されるアプリケーションの中にSpyder3があれば、そのアイコンをクリックしても起動できます。

3-1-4. pipコマンドによるインストール

Ubuntu 20.04の環境でPython のバージョン3.8に対応したSpyderのバージョン3.3.6をインストールできます。

(a) パッケージの確認
PyPIのサイトからSpyderで検索を行い(図3-20)、バージョン5.3.3の画面のリリース履歴「Release History」からUbuntu 20.04に対応したバージョン3.3.6の確認ができます(図3-21~図3-24)。


図3-20 SpyderのPyPIでの検索


図3-21 Spyderの検索結果


図3-22 Spyder 5.3.3


図3-23 Spyderのリリース履歴


図3-24 Spyder 3.3.6

(b) インストール
PyPIのサイトからコマンドのコピーによりインストールができます。

pip install spyder==3.3.6

(c) Spyderの実行
Terminalからspyderと入力してリターンキーを押すと起動できます。

【参考】
SpyderのソースパッケージをPyPIのサイトからダウンロードしてインストールする場合、対応するPythonのバージョンは2.7または3.4以上となっています。
また、時間の掛かるファイルのダウンロードをPyPIのサイトから先に行い(2-2-4節(3)を参照)、インストールを別途、行うこともできます(図3-25、図3-26)。
インストールはダウンロードしたディレクトリでpipコマンドを実行します。

pip install ./spyder-3.3.6.tar.gz


図3-25 Spyderのダウンロードファイル


図3-26 Spyderのファイルのダウンロード

4. まとめ

IoTやAI、機械学習などのパソコン等での実行例を紹介した書籍やWeb情報が多く見られるようになってきています。そして、それらではパソコンやマイコンなどで稼働するフリーソフトであるPC-UNIXベースのオペレーティングシステムにフリーのアプリケーションを設定するものが多くなっています。しかし、それらの取り扱いは、広く普及しているWindowsにアプリケーションソフトをインストールする場合と異なり難しく、目的とするIoTやAI、機械学習などの確認をできない状況も多く見受けられます。

Windowsではインストーラーによるインストール方法がほぼ決まっていると共に、ソフトウェアの対応するWindowsのバージョンの情報も入手しやすい状況にあり、Windows XP用に作られたソフトを動作確認の取れていないWindows 10などに導入する例は少ないと思います。
一方、本文で対象としましたDebian系の LinuxディストリビューションであるUbuntuにもWindows等と同様にバージョンがあり、LTS(Long-Term Support)でも2016年以降、Xenial Xerus(16.04)、Bionic Beaver(18.04)、Focal Fossa(20.04)、Jammy Jellyfish(22.04)のように2年ごとに新しい機能が導入され発展してきています。
そして、古いバージョンのソフトは、新しいUbuntuのバージョンまで考慮して作成されるとしても限りがありますので、ソフトを導入するときはソフトのバージョンとUbuntuのバージョンに注意する必要があります。インストールの途中で必要なファイルがない等のメッセージを出力して、インストールが終了することもありますが、途中までインストールされたものを削除して、前の状態に戻せるとは限りません。特に、ビルドされたパッケージで提供されるソフトがビルドされた環境または想定された環境でない場合、必要なソフトがなかったり、バージョンが異なったりして、インストールできない場合がよくあります。

UNIX系のソフトは、元々、ソースコードで配布され、インストールする環境ごとにビルドされていましたので、ソフトの管理は利用者に任せられていたのかもしれませんが、一般の利用者が多くなった現在では、パッケージの管理システムを利用してインストールするのが良い方法と思います。しかし、複数の管理システムを利用せざるを得ない場合もありますので、まだまだ利用には注意が必要です。
ここでは、取り上げませんでしたが、PC-UNIXベースのシステムには、他にRed Hat系やSlackware系、FreeBSD系など多くのディストリビューションがあり、それぞれでUbuntuとは異なるパッケージの管理システムを利用していますので、それらを利用する場合は事前にその特徴をよく確認するとよいと思います。

本資料により、より多くの方がIoTやAI、機械学習などの紹介された内容を具体的に確認でき、技術者のレベルアップや新たな製品の開発等に繋がるとよいと思います。

付録 参考資料

本手順書の内容はインターネットにある多くのサイトに掲載の情報を利用させて頂きました。
以下に本文で参考にしたWebサイトのアドレスを示します。

(1)Pythonの仮想環境

	https://qiita.com/KRiver1/items/c1788e616b77a9bad4dd
	https://qiita.com/yakisobamilk/items/867dce8e53824146ce05

(2)Aacondaのインストール

	https://www.beginnerweb.net/anaconda-ubuntu2022-2.html

(3)Anacondaで仮想環境

	https://qiita.com/ozaki_physics/items/985188feb92570e5b82d

(4)Dockerの仕組み

	https://qiita.com/etaroid/items/b1024c7d200a75b992fc

(5)Ubuntuのパッケージ管理入門

	https://pc.watch.impress.co.jp/docs/column/ubuntu/1414392.html

(6)Conda コマンド

	https://www.python.jp/install/anaconda/conda.html

(7)pipとは

	https://and-engineer.com/articles/YUGdqRAAACIAsGy_

以上


https://zenn.dev/dsl_gunma/articles/cf03de6d543dc9

Discussion