【遺伝研】 旧バージョンのPython使用

こんにちは。
ご無沙汰しています。

研究をしていますが、研究のことが何もわからない博士課程1年生です。

X(旧 Twitter)も大学院生として、新設しております。
ユーザー名は、@ken_kyu_wakaran、です。
いかにも、研究がわからなさそうですね。



本記事では、旧バージョン (システムにインストールされていないバージョン) のpythonを使用したい場合の手順について、ご提示します。
旧バージョンのpythonの実装には Miniconda を使用しました。

私が実際に version 3.6.6 での環境構築が必要となった際に、どのように環境構築を行ったかをお示しします。



1. 早速

1.1. 元も子もない話ですが、、、

基本的には、遺伝研のサイトに書かれている通りにコマンドを打てばOKでした!
私の調べ方が悪かったのか、なかなかこのサイトに辿り着けなかったので、わざわざ記事にした次第です。


1.2. 仮想環境の意義

以下に仮想環境を構築することの意義・メリットを概説します。

基本的には、

プロジェクトごとに使用するライブラリのバージョンが異なる!
▶︎ それなら、各プロジェクトでライブラリのバージョンを使い分ければええやん!

といったイメージです。


もう少し詳しく、以下に示します。

  1. 依存関係の分離
    各プロジェクトは異なるライブラリやバージョンの依存関係を持つことがあります。

    例えば、
    ・プロジェクトAはライブラリXのバージョン1.0を使用する
    ・プロジェクトBはライブラリXのバージョン2.0を使用する

    といった場合があります。
    ここで、仮想環境を活用します。

    ● プロジェクトAを行う際には、ライブラリXのバージョン1.0を使用するような仮想環境Aを
    ● プロジェクトBを行う際には、ライブラリXのバージョン1.0を使用するような仮想環境Aを

    それぞれ立ち上げます。

    こうすることで、それぞれ独立した環境内で実行されるため、互いのライブラリやバージョンに影響が及ぶことがなくなります。

  2. 環境の再現性
    特定のバージョンのライブラリが必要なプロジェクトでは、そのバージョンが正確にインストールされていることが重要です。

    例えば、ライブラリAが正しく動作するには、ライブラリBのバージョンがX.XX.XX以上である必要がある、ということがあります。

    仮想環境を使用することで、開発者は特定のバージョンのライブラリを指定してインストールし、その環境を他の開発者やデプロイ環境に再現することも容易になります。

  3. システム環境の保護
    グローバルなPython環境にライブラリをインストールすると、システム全体に影響を及ぼす可能性があります。
    例えば、システムに必要な他のアプリケーションが特定のバージョンのライブラリに依存している場合、誤ってそのバージョンを変更してしまうとアプリケーションが動作しなくなることがあります

    仮想環境を使用することで、システムのグローバル環境を汚染せずにライブラリを管理できます。


1.3. 実装例

せっかくなので、自分が実際に打った手順をお示しします。
本記事では、1つ1つコマンドの概説を挟んであるので、実装しにくい・読みにくいと感じる方は、遺伝研の方のサイトのほうが良いかもしれません。


# 1. ユーザーのホームディレクトリに "miniconda3" という名前のディレクトリを作成します。

$ mkdir ~/miniconda3


# 2. Minicondaのインストーラーをインターネットからダウンロードし、# 1で作成した "miniconda3" ディレクトリ内に "miniconda.sh" という名前で保存します。

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


# 3. ダウンロードしたMinicondaのインストーラーを実行します。
オプション "-b" はバッチモード(全自動インストール)
"-u" は既存のインストールを上書き
"-p" はインストール先のパスを指定します。

$ sh ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3


# 4. 使い終わったインストーラーを削除します。

$ rm -f ~/miniconda3/miniconda.sh


# 5. condaコマンドを使えるようにするために、bashシェルの初期化スクリプトに設定を追加します。

$ ~/miniconda3/bin/conda init bash


# 6. bashrcファイルを再読み込みして、先ほどの設定を反映させます。

$ source ~/.bashrc


# 7. Condaの設定に、新しいチャンネル(ソフトウェアパッケージの提供元)を追加します。
conda-forgeは信頼性の高いパッケージを提供するコミュニティです。

$ conda config --add channels conda-forge


# 8. パッケージのインストール優先度を "strict" に設定します。
これにより、追加したチャンネル(conda-forge)が常に優先されます。

$ conda config --set channel_priority strict


# 9. Condaの設定ファイル(.condarc)でconda-forgeレポジトリがトップに表示されるかどうか、確認します。

$ vim ~/.condarc

なお、以下のようになっていれば、OKです。


# 10. デフォルトで有効になっている仮想環境 "base" を無効にします。
これにより、ターミナルを開いたときに自動的にbase環境がアクティベートされなくなります。

(base) $ conda deactivate
$ conda config --set auto_activate_base false


# 11. Pythonの利用可能なバージョンを検索します。
このコマンドは指定したバージョンのパッケージがあるかを確認するのに便利です。

$ conda search -f python


# 12. 仮想環境の作成と、pythonのインストール
自分の指定する名前の新しい仮想環境 (以下の例では"py312") を作成し、指定したバージョンのPython (以下の例ではpython 3.12.0) をインストールします。

$ conda create --name py312 python=3.12.1


# 13. 必要なパッケージをインストールします。
# 12で仮想環境が立ち上がるはずです。立ち上がっていれば、行頭に(仮想環境名)と表示されます。
もし立ち上がらないなら、$ conda activate (仮想環境名) を打ち込み、立ち上げてください。

立ち上げましたら、必要なパッケージを適宜インストールします。以下に例を示します。

# NumPyのインストール
$ conda install numpy

# Pandasのインストール
$ conda install pandas

# Matplotlibのインストール
$ conda install matplotlib

# Scikit-learnのインストール
$ conda install scikit-learn


# 14. プロジェクト終了時など、仮想環境を終了する場合はdeactivateします。

$ conda deactivate



2. 締め

以上です。
何か誤っている点等ありましたら、ご指摘いただけますと幸いです。

この記事が気に入ったらサポートをしてみませんか?