VisualStudioCodeとpipenvでpython環境構築

新規のプロジェクトを作成するときにpipenvで環境構築しています。毎度やり方忘れて調べているので環境構築手順を書いておきます。

環境

  • Windows10
  • Visual Studio Code(以下VSCode)
  • Python3.9
  • pipenv

python環境構築手順

新しいフォルダを作成してVSCodeで開きます。
Ctl+@でTerminalを開きます。

Terminalで以下のコマンドを実行し、pythonのバージョンを指定してpython仮想環境を作成する。

PS > python -m pipenv --python 3.9

成功すると以下のようなログが出力され、Pipfileファイルが作成され、.venvフォルダ以下にpython環境が作成されます。

Creating a virtualenv for this project...
Pipfile: C:\<your project path>\Pipfile
Using C:/Program Files/WindowsApps/PythonSoftwareFoundation.Python.3.9_3.9.496.0_x64__qbz5n2kfra8p0/python3.9.exe (3.9.1) to create virtualenv...
[   =] Creating virtual environment...created virtual environment CPython3.9.1.final.0-64 in 2590ms
  creator Venv(dest=C:\<your project path>\.venv, clear=False, no_vcs_ignore=False, global=False, describe=CPython3Windows)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=C:\Users\nobuh\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\Local\pypa\virtualenv)
    added seed packages: pip==20.3.3, setuptools==51.1.2, wheel==0.36.2
  activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
[  ==]
Successfully created virtual environment!
Virtualenv location: C:\<your project path>\.venv
Creating a Pipfile for this project...

Pipfileを確認すると以下のようになっています。

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]

[dev-packages]

[requires]
python_version = "3.9"

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

requestsをインストールする手順を例にします。venv環境の外(上記手順の続きでやっている場合はそのまま)で以下のコマンドを実行します。

PS > python -m pipenv install requests

実行後は以下のログが出力され、Pipfileファイルの更新およびPipfile.lockが作成されます。

Installing requests...
Adding requests to Pipfile's [packages]...
Installation Succeeded
Pipfile.lock not found, creating...
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
           Building requirements...
Resolving dependencies...
Success!
Updated Pipfile.lock (fe5a22)!
Installing dependencies from Pipfile.lock (fe5a22)...
  ================================ 0/0 - 00:00:00
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.

Pipfileを見るとrequestsがパッケージに追加されていることが確認できます。

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
requests = "*"

[dev-packages]

[requires]
python_version = "3.9"

開発用パッケージのインストールをするときは以下のコマンドを実行します。

PS > python -m pipenv install <package> --dev

venv環境の入り方

ターミナルからvenv環境に入るには、以下のコマンドを実行します。

PS > python -m pipenv shell

pythonのパスを確認するとvenv環境に入っていることが確認できます。

PS C:\<your project path>> (gcm python).Definition
C:\Users\***\AppData\Local\Microsoft\WindowsApps\python.exe
PS C:\<your project path>> python -m pipenv shell
Launching subshell in virtual environment...
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6

PS C:\<your project path>> (gcm python).Definition
C:\<your project path>\.venv\Scripts\python.exe
PS C:\<your project path>> exit
PS C:\<your project path>> (gcm python).Definition
C:\Users\***\AppData\Local\Microsoft\WindowsApps\python.exe