Linux系のOS(Ubuntu)上のPythonの仮想環境(venv)では、あらかじめインストール対象となるパッケージの一覧をテキストファイルに出力しておけば、そこに書かれたパッケージを一括で取り込むことができる。
今回は、Azure Portal上で作成したLinux系のOS(Ubuntu)をもつ仮想マシンに作成済の仮想環境(venv)で、パッケージの一覧をrequirements.txtに出力し、そこに書かれたパッケージ一覧を別の仮想環境(venv)に取り込んでみたので、その手順を共有する。
前提条件
下記サイトの手順に従って、Linux系のOS(Ubuntu)をもつ仮想マシンにPythonの仮想環境(venv)を作成済であること。
やってみたこと
requirements.txtの作成
前提条件の記事で作成した仮想環境(venv)である仮想環境(test1)で、インストール済パッケージの一覧を、requirements.txtに出力する。その手順は、以下の通り。
1) Azure Portalを起動し、Linux系のOS(Ubuntu)をもつ仮想マシンにログインすると、以下のように、Anacondaの仮想環境(base)を起動した状態であることが確認できる。
2)「conda deactivate」コマンドを実行し、Anacondaの仮想環境(base)を停止する。
3) 仮想環境(test1)を起動し、pandas, matplotlibをインストールする。
4) 仮想環境(test1)で「pip freeze」を実行し、インストール済パッケージを出力した結果は、以下の通り。
5) 上記「pip freeze」を実行した結果を、「requirements.txt」に出力する。
6) 出力された「requirements.txt」を表示した結果は、以下の通り。
作成済requirements.txtの取り込み
venvである仮想環境(test3)を作成し、requirements.txtに出力されたパッケージの取り込みを行う。その手順は、以下の通り。
1)「python3 -m venv test3」コマンドを実行し、仮想環境(test3)を作成する。
2)「source test3/bin/activate」コマンドを実行し、仮想環境を起動する。
3)「pip install -r requirements.txt」コマンドを実行し、「requirements.txt」に記載のライブラリをインストールする。
4) 3)を実行後の「pip freeze」を確認した結果は以下の通りで、「requirements.txt」に記載のライブラリが全てインストールされたことが確認できる。
要点まとめ
- あらかじめインストール対象となるパッケージの一覧をテキストファイルに出力しておけば、そこに書かれたパッケージを、Pythonの仮想環境(venv)で一括で取り込むことができる。