🍣

CondaによるPython環境の構築

2024/09/02に公開

前書き

開発環境の構築はなるべく人に任せたいと考えているAIエンジニアです。
とは言っても時には自分がやらねばならない場面も存在すると思います(^^;

そんな時のために残しておこうという類の記事です。

仮想環境というものを活用すると実行環境を合わせることができたり、ライブラリの管理もしやすくなり便利らしいです。
今回はCondaを利用してPythonの開発環境を構築するまでの流れをまとめていきます。

Conda環境を利用したものの中でも商用利用有償化の対象とならないMiniforgeを利用した方法で進めていきます。
https://www.reddit.com/r/Python/comments/iqsk3y/comment/gqdqrk9/?context=3

Miniforgeのインストール

Mac用

Macではとりあえず入れておくと便利なHomebrewを利用してインストールして進めていきます。
(すでにインストール済みの方はこのMiniforgeのインストールまで飛ばしてください。)

Homebrewのインストール

まずはHomebrewをインストールします。

/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”

しばらくすると

Press RETURN/ENTER to continue or any other key to abort:

と表示が出るのでEnterをクリックします。

==> Next steps:
- Run these two commands in your terminal to add Homebrew to your PATH:
    (echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> /Users/***/.zprofile
    eval "$(/opt/homebrew/bin/brew shellenv)"
- Run brew help to get started
- Further documentation:
    https://docs.brew.sh

とパスを通すための表示が出るのでRunの下の行にある

% (echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> /Users/***/.zprofile
    eval "$(/opt/homebrew/bin/brew shellenv)"

を入力します。
(/Users/の後にある***の部分は人によって違うので表示通りに入力します。

% brew -v

と入力して

Homebrew 4.3.18

↑このような感じでversionを返してくれればHomebrewの準備はOKです。

Miniforgeのインストール

Miniforgeをインストールします。

# miniforgeインストール 
brew install miniforge

次に

# condaのバージョン確認
% conda --version

conda 24.3.0

↑このような感じでversionを返してくれればcondaの準備はOKです。

Windows用

こちらのリンクからWindows版(Miniforge3-Windows-x86_64)をインストールします。
特にこだわりがない場合は全てデフォルト設定のまま進めて大丈夫です。

Miniforge Pronptを開き

# condaのバージョン確認
% conda --version

と入力して

conda 24.3.0

↑このような感じでversionを返してくれれば大丈夫です。

現状の確認

まずは現状の確認を行います。
※以下、全てWindowsの例で記載します。
C:\Users\user_name>の後の部分を入力します。

現状確認のコマンドは

# デフォルトでbase環境が立ち上がっている場合があるので一度抜ける
C:\Users\user_name>conda deactivate

# conda環境の確認
C:\Users\user_name>conda info -e

結果が

base                     C:\Users\user_name\miniforge3

↑このような表示の場合、baseという環境のみ存在していることを意味しています。

新規で環境作成

Python 3.10で新規の環境(py310)を作成する場合、

# Python 3.10の環境をpy310という名前で作成
C:\Users\user_name>conda create -n py310 python=3.10

もう一度Conda環境の確認を行い、

# conda環境の確認
C:\Users\user_name>conda info -e

結果が、

base                     C:\Users\user_name\miniforge3
py310                    C:\Users\user_name\miniforge3\envs\py310

と表示されれば、py310の環境作成は成功です(^^)

Conda環境の起動

# conda環境の起動
C:\Users\user_name>conda activate py310

(py310) C:\Users\user_name>

↑このような感じで先頭に(環境名)となっていれば起動成功です。
この状態で好きなライブラリをインストールすることでpy310という環境内で環境を構築することができます。

環境内にライブラリのインストール

環境内でインストールすることでインストールできます。
試しにNumPyをインストールして見ます。

# py310内にNumPyをインストール
(py310) C:\Users\user_name>pip install numpy
Collecting numpy
  Downloading numpy-2.1.0-cp310-cp310-win_amd64.whl.metadata (59 kB)
Downloading numpy-2.1.0-cp310-cp310-win_amd64.whl (12.9 MB)
   ---------------------------------------- 12.9/12.9 MB 14.7 MB/s eta 0:00:00
Installing collected packages: numpy
Successfully installed numpy-2.1.0

# pip listの確認
(py310) C:\Users\user_name>pip list
Package    Version
---------- -------
numpy      2.1.0
pip        24.2
setuptools 72.2.0
wheel      0.44.0

↑無事にNumPyがインストールできました。

requirements.txtが有る場合は

(py310) C:\Users\user_name>pip install -r requirements.txt

を実行することでライブラリをまとめてインストールすることもできます。

Conda環境の停止

(py310) C:\Users\user_name>conda deactivate

C:\Users\user_name>

↑このような感じで先頭にあった(環境名)が消えていれば環境を停止できています。

Conda環境の削除

(py310) C:\Users\user_name>conda deactivate

C:\Users\user_name>conda remove -n py310 --all

C:\Users\user_name>conda info -e
# conda environments:
#
base                     C:\Users\user_name\miniforge3

↑このような感じでpy310が表示されなければ環境を削除できています。

後書き

他にもできることはありますが、ここまで出来れば最低限の環境構築はできると思います。
使いやすくて便利だと思います。

いつも通り、参考とさせていただいた文献には感謝です。

参考

開発と仮想環境
https://futureys.tokyo/lets-use-virtual-environment-to-prepare-program-development/

Conda環境
https://qiita.com/leigadget/items/d802f08dc73b8abc9359

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

M1対応したHomebrewのインストール
https://www.teamxeppet.com/macbook-m1-homebrew-install/

Miniforgeを利用した環境構築
https://measurement-lab.blogspot.com/2022/03/miniforgepython.html

https://zenn.dev/osuzuki/articles/380be0f682d72d

Miniforgeを利用することの良さなど
https://qiita.com/kimisyo/items/986802ea52974b92df27

https://gist.github.com/junkor-1011/df4656563ce50733bfc1db4b0aecfe90

Anacondaの商用利用有償化と代替手段に関するQ and A
https://www.reddit.com/r/Python/comments/iqsk3y/comment/gqdqrk9/?context=3

Goals Tech Blog

Discussion