概要
本記事では、特にMac OS での Python の開発環境におけるバージョン管理、仮想環境管理、依存環境管理に焦点を当てて解説していきます。
以下の開発フローにおける STEP 2,3,4 の位置付けです。
Git リポジトリを作成/クローン
pyenv
などで Pythonバージョンを指定して管理
pipenv
などで仮想環境を作成管理
Pipfile
とPipfile.lock
やrequirements.txt
で依存関係を管理
必要なフレームワークのインストールや設定
Python プロジェクトの開発において、Pythonバージョン管理、依存関係管理、仮想環境管理は、プロジェクトの互換性と再現性を保証するために不可欠です。
例として、以下に必要ケースをまとめます。
バージョン管理が必要になるケース | ・新しいプロジェクトを始める時に、そのプロジェクトで利用するPythonのバージョンを決める必要がある ・古いプロジェクトを引き継いだ時に、そのプロジェクトが依存しているPythonのバージョンを切り替える必要がある ・Python 2.xと3.xの両方を扱う必要があり、バージョンを切り替える必要がある |
仮想環境管理が必要になるケース | ・複数のPythonプロジェクトを同時に進めており、依存ライブラリの競合を避ける必要がある ・システムのPythonに影響を与えずに、プロジェクト専用の環境を構築したい ・テスト環境と本番環境で、依存ライブラリを完全に分離したい ・新しい開発者がプロジェクトに参加し、同じ実行環境を構築する必要がある |
依存関係管理が必要になるケース | ・外部ライブラリを新しくインストールする必要が出てきた ・セキュリティの脆弱性が見つかり、特定のライブラリをアップデートする必要がある ・本番環境にデプロイする前に、開発環境と同じ依存関係を再現する必要がある ・新しい開発者がプロジェクトに参加し、依存ライブラリのインストールが必要になった |
※ 本記事の内容は個人の見解と解釈によるため参考程度にご覧ください。誤った情報がある場合ご連絡いただけますと幸いです。
1. Pythonバージョン管理
pyenv
- 概要
-
pyenvは、複数のPythonバージョンを管理し、プロジェクトごとに異なるバージョンを簡単に切り替えることができるツールです。
- 目的
-
異なるプロジェクトで異なるPythonバージョンを使用する必要がある場合に、それぞれのバージョンをシステムにインストールし、切り替えることができます。
- 使用方法
-
1. pyenvをインストール
pip install pyenv
macOSにpyenvがインストールされます。
2. Pythonバージョンのインストールpyenv install 3.8.10
Python 3.8.10がシステムにインストールされます。pyenvを使うことで、複数のPythonバージョンをインストールできます。
pyenvでインストールしたバージョンの確認方法
# 実行例 $ pyenv versions system * 3.8.10 (set by /Users/your_name/.pyenv/version) 3.7.9 3.6.12
3. グローバルのPythonバージョンの設定pyenv global 3.8.10
システム全体で使用するデフォルトのPythonバージョンが3.8.10に設定されます。ターミナルで
python --version
コマンドを実行すると、バージョン3.8.10が実行されるようになります。複数バージョンインストール時の切り替え方法も同様です。4. ローカルのPythonバージョンの設定cd /path/to/project pyenv local 3.7.5
プロジェクトディレクトリ内でのみ、Python 3.7.5が使用されるようになります。ディレクトリを移動すると、グローバル設定のバージョンに戻ります。
まとめのようにpyenvは、システム全体およびプロジェクトごとに柔軟にPythonのバージョン管理ができるツールです。プロジェクトの要件に合わせて最適なPythonバージョンを使い分けられるため、Python環境の構築が非常に容易になります。
pyenv install VERSION
でPythonの任意のバージョンをインストールできますpyenv versions
でインストール済みのPythonバージョンを一覧表示できますpyenv global VERSION
でシステム全体のグローバルなPythonバージョンを変更できますpyenv local VERSION
で特定のプロジェクトディレクトリ内のみで使用するPythonバージョンを変更できます
この柔軟性が、pyenvの最大の特徴です。プロジェクトごとに異なるPythonバージョンを無理なく割り当て、バージョンの互換性問題を回避できます。開発者は複数のPythonプロジェクトを並行して進められ、効率的な開発が可能になります。
2. 仮想環境管理
venv
- 概要
-
venvは、Python 3.3以降に標準で含まれている軽量な仮想環境管理ツールです。プロジェクト専用の仮想環境を作成し、その環境内にのみパッケージをインストールできます。
- 目的
-
プロジェクト間での依存パッケージの競合を防ぎ、開発環境を分離することが目的です。システムのPythonに影響を与えずに、必要なパッケージをインストールできます。
- 使用方法
-
1. 仮想環境の作成
python3 -m venv myenv
myenvという名前の仮想環境が作成されます。
2. 仮想環境の有効化source myenv/bin/activate
仮想環境が有効化します。シェルのプロンプトが
(myenv)
のように変わり、この環境内でのみPythonコマンドが実行可能になります。Windowsの場合
myenv\Scripts\activate
3. 依存パッケージのインストールpip install django
仮想環境内で依存パッケージをインストールします。
4. 仮想環境の無効化deactivate
仮想環境を無効化します。
pipenv
- 概要
-
pipenvは、Python の仮想環境管理と依存関係管理を同時に行えるツールです。Pipfileで依存パッケージを宣言的に管理でき、自動で仮想環境を作成・管理します。
- 目的
-
プロジェクト間での依存関係の競合を防ぎ、再現性の高い開発環境を構築することが目的です。開発用と本番用の依存パッケージを分離して管理できます。
- 使用方法
-
1. pipenvのインストール
pip install pipenv
pipenvがインストールされます。
インストール方法のお話
Homebrew(brew)とpip(pip)を使ったインストール方法について
Homebrew(macOSの場合)- Homebrewは、macOSで動作するパッケージマネージャーです。
/usr/local/bin
にパッケージをインストールします。
インストール例
# Homebrewをインストール(初回のみ) /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # パッケージのインストール brew install パッケージ名
brew install python
brew install pipenv
brew install poetry
pip(Pythonパッケージの場合)
- pipは、Pythonのパッケージをインストールするためのツールです。
--user
オプションを付けると、ユーザーのホームディレクトリ内(~/.local/
など)にインストールされます。
インストール例
bashCopy code# パッケージのインストール(ユーザー環境) pip install --user パッケージ名 # パッケージのアンインストール(ユーザー環境) pip uninstall パッケージ名
pip install --user pipenv
pip install --user poetry
pip install --user virtualenv
違いと使い分け
- Homebrewは主にmacOSで利用され、システムツールなどをインストールするのに使われます
- pipはPythonのパッケージ専用で、
--user
でユーザー環境にインストールできます - Python関連ツールの場合
- pipenvやpoetryは
pip install --user
が標準的な方法 - ただしmacOSなら
brew install
でもインストール可能
- pipenvやpoetryは
- Pythonそのものの場合
- macOSでは
brew install python
が一般的 - その他の環境では公式パッケージやpyenvなどを使う
- macOSでは
状況に応じて適切な方法を使い分ける必要がありますが、Pythonパッケージに関してはpipが標準的な方法です。
2. 仮想環境の作成mkdir myproject cd myproject pipenv --python 3.9 # Pythonのバージョンを指定して仮想環境を作成
プロジェクトディレクトリを作成し、そのディレクトリ内で仮想環境を作成します。
3. 依存パッケージのインストールpipenv install django
仮想環境内で依存パッケージをインストールします。インストールした依存パッケージはPipfileに自動的に記録されます。(※Pipfileについては後述)
仮想環境構築と依存関係管理の同時処理厳密には、
pipenv install django
を実行した時に、以下の2つの処理が行われます。- 仮想環境の作成
- 仮想環境内にDjangoをインストール
つまり、
pipenv --python 3.9
のようにPythonのバージョンを指定して仮想環境を作成しなくても仮想環境が構築されます。Pythonのバージョンは、以下の2つの方法で決まります。
- pipenvにPythonバージョンを指定しない場合
- システム上のデフォルトのPythonバージョン(pyenvでグローバルに設定されたバージョン)が使用されます。
- pipenvにPythonバージョンを指定した場合
- 指定したバージョンのPythonが仮想環境用にインストールされ、そのバージョンが使用されます。
- 例:
pipenv --python 3.9
と指定すると、Python 3.9の仮想環境が作成されます。
作成された仮想環境のPythonバージョンを確認する方法
pipenv --venv # 仮想環境のパスが表示される pipenv --py # 仮想環境内のPythonバージョンが表示される # 仮想環境をアクティベートした状態で以下のコマンドを実行すると、そのバージョンを確認できます。 pipenv shell python --version
pipenvはvenvで仮想環境を構築しているお話
pipenvは内部的にvenvを使って仮想環境を構築しています。
pipenvは主に以下の2つの役割を果たすツールです。
- 依存関係管理 (Pipfileでの宣言的な管理)
- 仮想環境の管理
そのため、実際の仮想環境の作成・管理にはPython標準のvenvモジュールを利用しています。
pipenvは依存関係管理機能とvenvを統合したようなツールだと捉えることができます。つまり、pipenvを使えば依存関係の管理と仮想環境の構築を同時に行えるわけです。
pipenv内部では以下のような処理が行われているはずです。
pipenv install
コマンドを実行- 内部でvenvを呼び出し、仮想環境を作成
- Pipfileに従って依存パッケージをインストール
なので、
pipenv --venv
で表示される仮想環境のパスは、実際にはvenvによって作成された仮想環境を指しているのです。このようにpipenvはvenvをラッピングして高度な機能を提供していますが、根底にあるの仮想環境作成はvenvに依存しています。
仮想環境の有効化前後でのパッケージインストールのお話
仮想環境を有効化する前にパッケージをインストールした場合
- システムの実行環境(グローバルな環境)にパッケージがインストールされます
- インストール先はシステムのPythonパスになります(例:/usr/local/lib/python3.9/site-packages)
- ユーザー権限さえあれば、システム全体で使えるようになります
仮想環境を有効化した後にパッケージをインストールした場合
- 仮想環境内にのみパッケージがインストールされます
- インストール先は仮想環境のパス(例: ~/.virtualenvs/env/lib/python3.9/site-packages)になります
- 仮想環境が有効な間のみ、そのパッケージが使用可能になります
- システムの実行環境には影響を与えません
pipenvの場合、
pipenv install
コマンドを使う限り、必ず仮想環境内にパッケージがインストールされます。仮想環境の有効化(pipenv shell)の有無は関係ありません。つまり、以下の2通りのケースで、どちらも仮想環境内にパッケージがインストールされます。
仮想環境を有効化する前にパッケージをインストールする場合
pipenv install django pipenv install requests
仮想環境を有効化した後にパッケージをインストールする場合
pip install django pip install requests
前者の場合、pipenvは内部的に以下の処理を行っています。
- 仮想環境がまだ無い場合は新しく作成する
- その仮想環境内にdjangoをインストールする
後者の場合も、
pip install
は仮想環境内で実行されるため、その環境内にパッケージがインストールされます。一方で、
pip install
コマンドをpipenvの仮想環境外で単独で実行した場合は、システムの実行環境(グローバル環境)にパッケージがインストールされます。要するに、
pipenv install
コマンドを使う限り、必ず仮想環境内にパッケージがインストールされます。仮想環境の有効化は関係ありません。有効化は別の操作であり、仮想環境内のPythonやパッケージを使うためだけに行います。この仕様のおかげで、pipenvユーザーは仮想環境の有効化を意識することなく、常に仮想環境内で依存パッケージを管理できるようになっています。
4. 仮想環境の有効化と無効化pipenv shell
仮想環境を有効化します。仮想環境がアクティベートされ、その環境内でコマンドが実行できるようになります。
exit
仮想環境を無効化します。
virtualenv
- 概要
-
virtualenvは、venvよりも柔軟な機能を持つ仮想環境管理ツールです。Python 2.xでも利用可能で、高度な設定やカスタマイズができます。
- 目的
-
プロジェクト専用の仮想環境を構築し、依存パッケージの管理を行うことが目的です。venvよりも幅広い要件に対応できます。
virtualenv が venv よりも機能が豊富で柔軟性が高い点のお話
virtualenvは、venvよりも機能が豊富で柔軟性が高い点が複数あります。具体的には以下の点が挙げられます。
1. Python 2.xサポート virtualenvはPython 2.xにも対応しています。一方、venvはPython 3.3以降でのみ利用可能です。古いPythonバージョンでも仮想環境を構築できるというメリットがあります。
2. 複数のPythonインストール管理 virtualenvには複数のPythonインストールを切り替えて利用できる機能があります。異なるPythonバージョンの仮想環境を簡単に作成できます。venvにはこの機能はありません。
3. シームレスな仮想化 virtualenvを使うと、仮想環境内でOS付属のコマンド(printenv、cdなど)を実行しても、グローバルな環境変数などが引き継がれます。つまり、仮想環境のように感じさせずに済むシームレスな仮想化が可能です。
4. 仮想化の粒度制御 virtualenvは仮想環境化する範囲をカスタマイズできます。例えば、ライブラリフォルダのみを仮想化したり、パスの一部のみを仮想化したりできます。venvはそのような細かな制御ができません。
5. カスタマイズ機能 virtualenvは、様々な設定オプションを公開しており、起動スクリプトのカスタマイズや、サイトパッケージのコピー/リンク選択などができます。venvはシンプルな代わりに、そういったカスタマイズ性は低くなっています。
6. プラグインサポート virtualenvは様々な拡張プラグインをサポートしており、さらに機能を追加できます。venvにはそのようなプラグイン機構がありません。
このようにvirtualenvには、venvにはない高度で柔軟な機能が多数用意されています。ただし、その分設定が複雑になる可能性もあります。
シンプルな仮想環境が必要な場合はvenvで十分ですが、よりカスタマイズを求める場合や、Python 2.xで使う必要がある場合などはvirtualenvを選ぶメリットがあります。用途に合わせて、2つのツールを使い分ける必要があります。
- 使用方法
-
1. virtualenvのインストール
pip install virtualenv
virtualenv がインストールされます。
2. 仮想環境の作成virtualenv myenv
myenvという名前の仮想環境が作成されます。
3. 仮想環境の有効化source myenv/bin/activate
仮想環境を有効化します。
Windowsの場合
myenv\Scripts\activate
4. パッケージのインストールpip install django
仮想環境を無効化します。
5. 仮想環境の無効化deactivate
仮想環境を無効化します。
まとめ仮想環境は、プロジェクト専用の独立した実行環境を作成し、そこにのみ必要なパッケージをインストールできる仕組みです。プロジェクト間での依存パッケージの競合を防ぎ、開発環境を分離することができます。
venv
はシンプルな標準ツールpipenv
は依存関係管理と仮想環境管理を同時に行えるvirtualenv
は高度な機能とカスタマイズ性が高い
用途に合わせて、これらのツールを使い分ける必要があります。仮想環境を適切に活用することで、再現性の高い開発環境を構築でき、Python開発をスムーズに進められます。
3. 依存関係管理
pipenv
- 概要
-
pipenvは、PythonのパッケージとそのバージョンをPipfileで宣言的に管理できるツールです。仮想環境と依存関係の管理を同時に行えるのが最大の特徴です。
- 目的
-
プロジェクト間での依存パッケージの競合を防ぎ、開発環境と本番環境での再現性を確保することが目的です。
- 使用方法
-
1. pipenvのインストール
pip install pipenv
macOSにpyenvがインストールされます。インストールした依存パッケージはPipfileに自動的に記録されます。
2. Pipfileの作成と依存パッケージのインストールmkdir myproject cd myproject pipenv install django
インストールした依存パッケージはPipfileが作成され、自動的に記録されます。
Pipfile のフォーマット
[[source]] url = "https://pypi.org/simple" verify_ssl = true name = "pypi" [packages] requests = "*" # requestsの最新版がインストールされる django = "==3.2.18" # Django 3.2.18がインストールされる numpy = ">=1.20" # NumPy 1.20以上の最新版がインストールされる [dev-packages] pytest = "*"
3. 依存パッケージの追加pipenv install requests
Pipfileに追記されます。
複数の依存パッケージを一度にインストールする方法
方法1.
pipenv install
コマンドで複数のパッケージ名を空白区切りで指定するpipenv install requests pandas numpy
この方法で、requestsとpandas、numpyの3つのパッケージが一度にインストールされ、Pipfileに記述されます。
方法2. Pipfileに直接パッケージ名を記述し、
pipenv install
を実行する[packages] requests = "*" pandas = "*" numpy = "*"
pipenv install
pipenv install
を実行すると、Pipfileに記載された全パッケージがインストールされます。上記の2つの方法で、複数のパッケージを一括してインストールできます。後者の方法は、Pipfileにパッケージ名を明示的に残せるので推奨されています。
開発の過程で必要になったパッケージを随時Pipfileに追記していき、
pipenv install
を実行することで、簡単に依存関係を更新できます。また、
pipenv install
実行時に--dev
オプションを付けると、[dev-packages]
セクションに記述された開発用の依存パッケージもインストールされます。codepipenv install --dev
このように、pipenvでは柔軟に複数の依存パッケージを一括でインストール・管理できるようになっています。
4. 依存関係の固定化pipenv lock
Pipfile.lockを更新し、パッケージのバージョンを固定化します。
Pipfile.lockのフォーマット
{ "_meta": { "hash": { "sha256": "sha256ハッシュ値" }, "pipfile-spec": 6, "requires": { "python_version": "使用Pythonバージョン" }, "sources": [ { "name": "pypi", "url": "https://pypi.org/simple", "verify_ssl": true } ] }, "default": { "パッケージ名": { "hashes": [ "sha256ハッシュ値", "sha256ハッシュ値" ], "version": "==パッケージバージョン" } }, "develop": { "パッケージ名": { "hashes": [ "sha256ハッシュ値" ], "version": "==パッケージバージョン" } } }
_meta
には使用Pythonバージョン、pipfileのスペック、パッケージのソースURLなどのメタデータが格納されます。default
セクションには本番環境の依存パッケージ情報が格納されます。- ハッシュ値とインストールされたパッケージのバージョンが記録されています。
develop
セクションには開発環境のみで必要な依存パッケージ情報が格納されます。
このように、Pipfile.lockには実際にインストールされた依存パッケージの完全な情報と、正確なバージョン、依存関係のツリーが記録されています。
Pipfile.lockの主な役割は、異なる環境でも同じ依存関係を再現できるようにすることです。このファイルをリポジトリに含めることで、開発者間で統一された環境を構築できるのです。
Pipfile.lockはJSONフォーマットで、pipenvが自動的に生成・更新します。内容を直接編集することはありません。
poetry
- 概要
-
poetryは、pipenvと同様に依存関係の宣言的な管理が可能なツールですが、ビルドシステムとの連携にも優れています。
- 目的
-
依存パッケージの管理と再現性の確保が目的で、pipenvよりもパッケージのビルドやパブリッシュを容易にします。
- 使用方法
-
1. poetryのインストール
pip install poetry
poetryがインストールされます。
2. 新規プロジェクトの初期化poetry new myproject
pyproject.toml
が作成されます。pyproject.toml のフォーマット
[tool.poetry] name = "my-project" version = "0.1.0" description = "" authors = ["Your Name <[email protected]>"] [tool.poetry.dependencies] python = "^3.8" django = "^3.2.0" requests = "^2.28.1" [tool.poetry.dev-dependencies] pytest = "^7.1.2"
pyproject.tomlはTOMLフォーマットで書かれた設定ファイルです。
- [tool.poetry]セクションでプロジェクトの基本情報を設定
- [tool.poetry.dependencies]でプロジェクトの依存パッケージを記述
- [tool.poetry.dev-dependencies]で開発時のみ必要な依存パッケージを記述
3. 依存パッケージのインストールpoetry add django
pyproject.tomlの
[tool.poetry.dependencies]
セクションに自動的に追記されます。複数の依存パッケージを一度にインストールする方法
方法1.
poetry add
コマンドに続けて複数のパッケージ名を空白区切りで指定する。poetry add django requests pandas
pyproject.tomlの
[tool.poetry.dependencies]
セクションに自動的に記述されます。方法2. pyproject.tomlの
[tool.poetry.dependencies]
に直接パッケージ名を記述し、poetry install
を実行する。[tool.poetry.dependencies] django = "^3.2" requests = "^2.28" pandas = "^1.4"
poetry install
poetry install
を実行すると、pyproject.tomlに記載された全パッケージがインストールされます。記述した
pyproject.toml
は依存関係の宣言的な管理にも使えるため、後者の方法が推奨されています。また、開発用の依存パッケージは
[tool.poetry.dev-dependencies]
セクションに記述します。[tool.poetry.dev-dependencies] pytest = "^7.1" black = "^22.8"
このように、poetryでは柔軟に複数のパッケージを一括でインストール・管理できます。用途に合わせて上記2つの方法を使い分けることができます。
4. 依存関係の固定化poetry lock
poetry.lockを更新し、パッケージのバージョンを固定化します。
poetry.lockのフォーマット
[[package]] name = "django" version = "3.2.18" description = "A high-level Python Web framework..." category = "main" [[package]] name = "requests" version = "2.28.2" description = "Python HTTP for Humans." category = "main" [metadata] python-versions = "^3.8" content-hash = "907d492f5b9a8c3788e922e149b13a2fcd326f7c675b74e4cba9209c15b5e08f"
まとめPythonプロジェクトでは、外部ライブラリやフレームワークなどの依存パッケージを適切に管理することが重要です。依存関係を明示的に宣言し、異なる環境でも同じ依存関係を再現できるようにすることで、開発の効率やプロジェクトの健全性が高まります。
- pipenv
-
- 仮想環境管理と依存関係管理を同時に行えるツール
Pipfile
で依存パッケージを宣言的に管理Pipfile.lock
で正確な依存関係を固定化pipenv install
で簡単に依存パッケージとその環境を構築
- pipenv
-
- pipenvと同様の機能があり、ビルド/パッケージングとの連携も強力
pyproject.toml
で依存パッケージを記述poetry.lock
で実際のインストール状況を保持poetry add
で対話的に依存パッケージを追加可能
pipenvやpoetryなどの専用ツールを活用し、プロジェクトの要件に合わせてパッケージを宣言的に管理することが推奨されます。仮想環境と合わせて適切に運用することで、再現性の高い開発環境を構築でき、Pythonプロジェクトをスムーズに進められるはずです。
4. 統合ツール(おまけ)
conda
- 概要
-
condaは、Anacondaディストリビューションのパッケージであり、仮想環境管理と依存関係管理が一体化されています。Pythonのみならず、データサイエンス関連のさまざまなライブラリやアプリケーションを効率的に扱えるのが特徴です。
- 目的
-
- データサイエンス分野で使用される様々なパッケージを手軽にインストール・管理できるようにすること
- 環境を分離し、プロジェクトごとに異なるバージョンのパッケージを使えるようにすること
- 使用方法
-
1. 仮想環境の作成
conda create -n myenv python=3.9
myenv
という名前の新しい仮想環境が作成され、Python 3.9がインストールされます。2. 仮想環境の有効化conda activate myenv
作成した仮想環境を有効化します。プロンプトに
(myenv)
と表示されれば有効化されています。3. パッケージのインストールconda install numpy pandas scipy
この例では、numpy、pandas、scipyの3つのパッケージが仮想環境
myenv
にインストールされます。既存の仮想環境にパッケージを追加インストールする方法
- 方法1.
conda install
コマンドでパッケージを直接インストール -
- 対象の仮想環境を有効化
conda activate myenv
2. conda installコマンドでパッケージを直接インストール
conda install numpy conda install scikit-learn
この方法は、すぐにパッケージをインストールできる点では便利ですが、依存関係の管理が困難になる可能性があります。
- 方法2. environment.ymlの利用
-
1. 既存のenvironment.ymlファイルを書き出します。
conda env export > environment.yml
2. エディタでenvironment.ymlを開き、dependenciesセクションに新しいパッケージを追記します。
name: myenv dependencies: - python=3.9 - numpy - pandas - scikit-learn # 追加
3. 追記したenvironment.ymlに基づいて環境を再構築します。
conda env update -f environment.yml
4. 環境が正しく更新されたか確認します。
conda list
この方法の利点は、明示的に依存パッケージを管理できること、再現性が高いこと、チームメンバーと環境を共有しやすいことです。
4. 依存関係の管理方法conda env create -f environment.yml
空の
environment.yml
ファイルが作成されます。name: myenv # 環境名 channels: - conda-forge # パッケージのチャンネルを指定 dependencies: - python=3.9 # Pythonのバージョン - numpy - pandas - scikit-learn - pip # pipでインストールするパッケージを指定できる - pip: - mlflow # pipからインストールするパッケージ
環境ファイルにパッケージを記述
environment.yml
を編集し、必要なパッケージを記述します。conda env create -f environment.yml
environmentファイルに記述された依存パッケージがインストールされた
myenv
という環境が作成されます。5. 仮想環境の無効化conda deactivate
仮想環境を無効化し、ベース環境に戻ります。
まとめcondaは、データサイエンスの分野に特化したパッケージ管理ツールであり、依存関係管理と仮想環境管理を同時に行える便利なツールです。
- conda
-
- 依存関係管理と仮想環境管理を同時に行えるツール
- データサイエンス分野のパッケージが豊富に用意されている
- 独自のパッケージリポジトリを使うため、PyPIのパッケージとの連携に注意
condaが利用できるパッケージの選択肢は、標準の公開パッケージリポジトリPyPIに比べて制限されています。
一方で、データサイエンス分野の主要パッケージはcondaリポジトリで提供されており、ビルドされたバイナリ配布がインストールできるため、環境構築が非常に簡単になるメリットもあります。 - 方法1.
コメント