Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
20
Help us understand the problem. What is going on with this article?

More than 1 year has passed since last update.

@psychoroid

Pythonで仮想環境virtualenvを作成し、Visual Studio Codeで自動適用する開発環境を構築する

virtualenvで作成したPythonの仮想環境をVisual Studio Code(以後VSCode)で自動適用させ、Pythonの開発環境を構築する手順を記載します。

環境

以降の手順は、上記のようにWindowsにPythonとVSCodeをインストールした環境を前提に記載します。

virtualenvで仮想環境を作成する

まず、コマンドプロンプトを起動し、pipコマンドでvirtualenvのモジュールをインストールします。

pip install virtualenv

次に、プロジェクトを作成するフォルダに移動し、プロジェクトフォルダmyprojectを作成し移動します。

mkdir myproject
cd myproject

プロジェクトフォルダ内にvirtualenvモジュールで仮想環境envを次のように作成します。
(※このフォルダ構造が肝になります)

python -m virtualenv env

これでmyprojectフォルダ直下に、仮想環境envが構築されました。

VSCodeに Python extensionを導入する

次に、VSCodeにPython用の拡張機能(Python extension)を適用します。

VSCodeを起動し、VSCodeの左端にあるアクティビティーバー(縦型のツールバー)の拡張機能メニューを開いて、入力欄に "python" と入力し、 フィルタリング表示された 拡張機能Pythonの インストール をクリックします。

python_vscode1.png

Python extensionの再読み込みをクリックして再読み込みさせます。

python_vscode2.png

VSCodeでPythonの仮想環境が(自動的に)適用されることを確認する。

VSCodeでは適用する仮想環境(Pythonオリジナルの設定環境含む)を選択することができますが、プロジェクトとして読み込んだフォルダの階層に仮想環境がある場合はデフォルトで仮想環境を適用してくれます。(但し、フォルダ内にpythonのファイルが含まれている場合に限ります)

実際に試してみると、仮想環境envを含むmyprojectをVSCodeで開き、myproject内に拡張子pyのファイル(ここではsample.py)を作成すると、次の赤枠で示すように、VSCodeが仮想環境envを読み込んだ状態に移行します。
更に、Ctrl+@のショートカットでターミナルを開くと、自動的にターミナルも仮想環境envに入ります。

仮想環境のactivate.batが実行されることで仮想環境に入り、仮想環境に入ったことを示す(env)がターミナルの頭に付きます。

python_vscode3.png

myprojectと仮想環境envを作成した初期状態では、拡張子pyのファイルをダミーで作成する必要がありますが、実際に開発を進めていけばその必要はありません。

(ものすごく普通ですが・・・)このフォルダ構造を構築することで、VSCodeやターミナルを毎回手動で仮想環境に適用させなくてもよいので、IDEの様にすぐに開発を始めることができます。

Pythonの仮想環境にpylintを導入する

最後に、仮想環境envにpylintをインストールし、開発環境とVSCodeを連携させて開発環境を構築します。因みにpylintのインストール方法は次のどちらでも構いません。

pylintも悪くはありませんが、flake8の方がお勧めかと最近思いましたのでpylintの代わりにflake8をインストールされる方は次のリンクを参照ください。

VSCodeのPython開発環境でpylintの代わりにflake8を導入し自動整形を設定する

  • VSCodeから導入する場合:Case1へ
  • コマンドプロンプトから手動で導入する場合:Case2へ

Case1: VSCodeから導入する場合

先ほどの図でウインドウの右下に、トースト通知で”Linter pylint is not installed"が表示され、pylintの導入を促されますので、そのままInstallをクリックすると、次のコマンドがVSCodeより自動的に発行されplintがインストールされます(同時に依存関係のあるモジュールもインストールされます)。

python.exe -m pip install -U pylint

python_vscode4.png

暫く待つとインストールが完了します。

Case2: コマンドプロンプトから導入する場合

勝手にインストールされるのは気持ち悪い!・・・という人は、自分でコマンドプロンプトを立ち上げ、先ほど作成したmyprojectのenvのactivateスクリプトを実行し、仮想環境envに入ります。

myproject\env\Scripts\activate

すると、(env)がコマンドプロンプトの頭に表示され、仮想環境に入ったことが示されるので、入った状態でpylintをインストールします。

pip install pylint

実行後、pylintと依存関係のあるモジュールもインストールされ、pylintのインストールが完了します。


  1. インストール先はデフォルトではありません 

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
20
Help us understand the problem. What is going on with this article?