0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python3エンジニア認定基礎試験】12. 仮想環境とパッケージ

Last updated at Posted at 2024-08-31

12.1 はじめに

Pythonアプリケーションは、特定のバージョンのライブラリやモジュールを必要とすることがあります。
たとえば、アプリケーションAがバージョン1.0、アプリケーションBがバージョン2.0を要求する場合、同じPython環境では両者の依存関係が衝突します。
これを解決するために仮想環境を使い、各アプリケーションに独自のPython環境を設定することで、それぞれ異なるバージョンのモジュールを利用できるようにします。

12.2 仮想環境の作成

仮想環境はvenvモジュールを使用して作成します。具体的な手順は以下の通りです:

任意のディレクトリで仮想環境を作成するには、次のコマンドを実行します:

python -m venv tutorial-env

これにより、tutorial-envというディレクトリが作成され、その中にPythonインタプリタと関連ファイルが配置されます。

仮想環境を有効化

Windowsの場合:

tutorial-env\Scripts\activate

UnixまたはMac OSの場合:

source tutorial-env/bin/activate

有効化すると、シェルのプロンプトに仮想環境の名前が表示され、
その仮想環境内のPythonが利用されるようになります。

仮想環境を無効化するには、deactivateコマンドを実行します:

deactivate

12.3 pipを使ったパッケージ管理

pipは、Pythonのパッケージ管理ツールで、以下の操作を行えます:

パッケージのインストール: パッケージをインストールするには、以下のコマンドを使用します:

python -m pip install パッケージ名

例:novasというパッケージをインストールするには:

python -m pip install novas

特定のバージョンをインストール: 特定のバージョンのパッケージをインストールする場合、次のようにバージョン番号を指定します:

python -m pip install requests==2.6.0

パッケージのアップグレード: パッケージを最新バージョンにアップグレードするには、以下のコマンドを使用します:

python -m pip install --upgrade requests

パッケージのアンインストール: パッケージを削除するには、以下のコマンドを使用します:

python -m pip uninstall パッケージ名

インストール済みパッケージの一覧表示: 現在の仮想環境にインストールされている全てのパッケージを表示するには、次のコマンドを使用します:

python -m pip list

requirements.txtの作成: インストールされたパッケージの一覧をrequirements.txtファイルに保存して、他の環境で再現できるようにします:

python -m pip freeze > requirements.txt

このファイルを使って、他のユーザーが同じ環境をセットアップする際は、次のコマンドを使用します:

python -m pip install -r requirements.txt

このようにして、pipを使ってパッケージのインストール、管理、そして共有を簡単に行うことができます。

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?