2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[python] 仮想環境

Last updated at Posted at 2022-07-20

はじめに

pythonでツールなどを開発する際に、用途によって必要なライブラリを含んだ実行環境を作成し、その環境下で開発を行うのがスタンダードとされています。
仮想環境を活用することで、PC上にあたかも別マシンで動くようなpython環境を構築できます。
つまり、独立して動くため同じシステム内の環境を汚したり競合なく開発が行えたり、作成したツール配布の際に実行環境を揃えられるため、ライブラリの差異で動かないといったことが解消できるといったメリットがあります。

運用としてbaseのライブラリは汚さずに、仮想環境ごとに必要なライブラリを揃えるといった感じが良さそうですね。

仮想環境の種類

次の3種類の仮想環境がよく使われている様子

名称 特徴
venv ・標準仕様なので安心感あり(Python Ver3.4以降)
・すぐ使える
conda ・Anacondaパッケージに標準搭載
virtualenv ・サードパーティ製なのでpip installが事前に必要
・venvより構築が少し楽

venvでの環境構築から有効まで

WindowsOSにてvenvではコマンドプロンプトとpowershellで、環境を構築できるようです。ただ、構築する際のバッチファイルが各々別のものを使っているらしいので注意が必要だ。本記事ではコマンドプロンプトでの構築を前提にしています。

参考サイト : 実務で必須の「Python仮想環境」について学ぼう!

(1) 仮想環境を構築したいフォルダまで移動
例えば、「my_project」というフォルダで構築したい場合は

cd yyy\zzz\my_projrct

といった感じで、直下まで辿り着く

(2) 仮想環境の作成
直下まで移動したら、以下のコマンドを打って仮想環境を作成する

python -m venv xxx

※xxxは任意の環境名称

(3) 仮想環境の有効化
ここまでで、my_project下に仮想環境が存在するが、まだアクティブな状態ではないです
xxx下のScriptsディレクトリに activate.bat というバッチで仮想環境を立ち上げるようです

.\xxx\Scripts\activate.bat

これで仮想環境の有効化は完了。
成功するとコマンドプロンプト上で、ディレクトリの前に(xxx)といった感じで、現環境が表示される。

Power shellの場合ではactivate.batではなく Activate.ps1 の方をたたく必要があります。

パッケージのインストール

仮想環境を立ち上げたら環境下で必要なパッケージをインストールする。

基本的なパッケージのインストールは、pipというpython標準搭載の管理システムを用いて行います。

よく使いそうなpipコマンド一覧

目的 コマンド
パッケージ(xxx)インストール pip install xxx
パッケージ(xxx)をアンインストール pip uninstall xxx
アップグレード pip install -upgrade xxx
バージョンを指定してパッケージ(xxx)インストール pip install xxx==Ver
インストールされたパッケージ一覧表示 pip list
インストールされたパッケージ一覧表示 pip freeze

例) numpyをインストールしたい場合
環境下で以下を入力

pip install numpy

参考サイト : 【Python】pipとは何か?コマンド一覧と使い方を実例でわかりやすく解説|pipとpip3の違い(初心者向け)

仮想環境の無効化、削除

ライブラリを仮想環境下にて試しで使ってみて、ダメだった場合その環境が不要となる場合があると思われる。そのため、仮想環境の無効化、削除についても書いておこうと思います。

(1) 仮想環境の無効化
前提として、仮想環境が有効であった場合、同じくScriptsディレクトリ内の deactivate.bat で環境を抜けることが出来ます。

deactive.bat

または

.\xxx\Scripts\deactive.bat

抜けた後はbase環境(デフォルト)に戻る

(2) 削除
これはシンプルで、作成した仮想環境のフォルダを削除すればよいです。

rmdir \s xxx

こんな感じでコマンドを打つか、ゴミ箱に入れてしまうかすればよいです。

インストール済みパッケージの出力

前述したpip listpip freezeでパッケージの出力が可能である。
このうちpip freezeは仮想環境をコピーする際など、まとめてパッケージをインストールするためのrequirements.txtを出力するのに便利です。

ちなみにpip listpip freezeの違いはパッケージのVer記載の有無です。
pip freezeにVer情報あり

下記コマンドのように出力をリダイレクションでrequirements.txtに向ければ、下簡単に作成できます。

pip freeze > requirements.txt

同様の環境を構築したいときは、このrequirements.txtを使って以下のコマンドで、一括インストールできます。

pip install -r requirements.txt

他の人にpythonツールを渡すときなどに、requirements.txtを一緒に渡してやれば、環境を揃えることが出来ます。

参考サイト : Python, pip list / freezeでインストール済みパッケージ一覧を確認

さいごに

参考にさせていただいたサイト様には感謝いたします。
今回はvenvでの仮想環境立ち上げ等をまとめました。やる気があったら他の環境もまとめたいと思います。(多分やらない)

2
6
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
2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?