LoginSignup
6
6

More than 3 years have passed since last update.

VSCodeでPython (Windows10) 仮想環境・パッケージ編

Last updated at Posted at 2020-05-31

VSCodeでPython動くようになったら

パッケージをインストールしてゴリゴリ分析していくとしてもよいが、仮想環境が作れるとより便利に。仮想環境作るメリットとしては

  • 環境がバグっても仮想環境だけ消せばよい
  • 誰かと環境を揃えて作業する際に環境の共有が容易
  • 普段はあまり使用しないパッケージは仮想環境にのみインストールできる

が大きいかなと。
ちなみに通常パッケージをインストールする際にはpip install パッケージ名をターミナル(powershell)で実行すればインストールできる。
だから仮想環境が不要な人はpipを軸にパッケージの管理をすればよい。
(仮想環境で後述のvenvを作る人はpipで行うことになるが)

仮想環境の構築

venv (virtual environmentの略?)を作れば基本的に良いのだが、pipenvを使ったらもっと簡単にできたのでそちらを紹介。
venvの場合(この表現が正しいのかは疑問)は、powershllでプロジェクトディレクトリに移動して(cdコマンドを使えばよい)、その後、バージョンにもよるのだろうが、僕はPython3しか知らないので、

python3 -m venv 仮想環境の名前

とすれば仮想環境が作れる。あとはパッケージをpipで管理すればいい。
最初はずっとこれでやっていたのだが、色々と面倒になってきて。。。
そこで別の環境構築方法としてpipenvを使った方法を試してみたら結構簡単じゃんって。まぁvenvでも全然大丈夫だと思うから好みでいいんじゃねって気もする。
こっちの方法だと「venv:Python仮想環境管理」が一通り説明してくれている。

VSCodeを起動したらターミナルに行って「新しいターミナル」を起動して、

pip install pipenv

を実行すればよい。
新規フォルダを作成して、新規ターミナルで

pipenv --python 3.8

のように実行する「3.8」の部分は僕のPythonのバージョンがそれなだけなので自身のバージョンに合わせて変更を。実行すると、左側のエクスプローラー?に「.venv」とか出来るかな。
そしたら新しいファイル「ファイル名.py」を作成して開く。
使用するPythonの選択をするために「Ctrl + Shift + P」もしくは左下の「Select Python...」みたいなとこから使用するPythonを選べるので今作ったヤツを選択すればいい(多分カッコ書きが付いてるヤツがそれ。)。パスも書いてあるから「.venv/」ってどっかに書いてあるヤツを選択すればいい。
適当に何か書いてみて実行(F5してEnter)すれば実行される。

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

パッケージのインストールもpipenvで出来るのが魅力的。
インストールはターミナルで

pipenv install パッケージ名

でアンインストールするときには上で「uninstall」とすればよい。
試しに実行したければ結構誰でも使いそうなnumpy(ナムパイと呼ぶ, NumPy, Numerical Pythonの略)を(パッケージ名はすべて小文字ね)。
NumPyは数値計算に特化したPythonのパッケージだが、基本的なことから結構いろいろやってくれるから入れとくと便利かも。

簡単だよね。で、共有の話だけ少ししておくと、基本的にはpip freeze使ってrequirements.txt作ってそれを別のPCに移動して

pip install –r requirements.txt

などのようにやるが、pipenvでパッケージ管理するとこういうファイルの更新を自動でやってくれるのもありがたいのよ。その情報はPipfileに保存される。Pipfileの場合は、他のPCに移動して、

pipenv install --dev

のようにすればよい。
また、これまでrequirements.txtでパッケージを管理していた場合にも、

pipenv install -r ./requirements.txt

とすれば新しいPCにも環境の再現が可能となる。
昔に比べて本当に便利な時代になったなぁ。

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