LoginSignup
17
23

More than 5 years have passed since last update.

VSCodeでPythonをvenvで仮想化環境として使えるようにする

Last updated at Posted at 2019-01-24

別バージョンのPythonをVSCodeで使えるようにする

プロジェクトでPython3.7を使っていましたが、別のプロジェクトでPython3.5を使う必要があるので、仮想化で対応してみました。ついでにVSCodeで連携してみました。

参考

Windows10のVSCodeでvenvを利用するときの注意点
venv: Python 仮想環境管理

条件

対象はPython3.3以降
Windows10
Python3.7が入っている状態(パスも設定されている)

1. Python3.5のインストール

pythonの公式サイトからインストール
 https://www.python.org/downloads/windows/
現状C:\Python\Python37が入ってるので、C:\Python\Python35にインストール

2. PowerShellのポリシーを変更する

参考のWindows10のVSCodeでvenvを利用するときの注意点を参考にPowerShellのポリシーを変更します。
特に不都合もないと思ったので、管理者権限で実行してポリシーを変更しました。

3. Visual Stadio CodeにPowerShellの拡張機能を入れる

VSCodeを起動して以下の拡張機能をインストールして再起動します。
再起動するとVSCodeの左側のメニューアイコンにPowerShellのアイコンが表示されます。

名前: PowerShell
Id: ms-vscode.powershell
説明: Develop PowerShell scripts in Visual Studio Code!
バージョン: 1.11.0
発行者: Microsoft
VS Marketplace のリンク: https://marketplace.visualstudio.com/items?itemName=ms-vscode.powershell

4. Python3.5で仮想環境を作る

VSCodeのPowershellアイコンをクリックしてPowerShellを起動します。
確認のためにインストールしたPython35フォルダへアクセスし、そのフォルダ上で./python --versionを実行する。

PS C:\Python\Python35> .\python --version
Python 3.5.3

venvコマンドで仮想環境を作成します。今回はC:\work\virtualworkにvenvという名前で作成します。
※フルパスでPython3.5のpython.exeを指定して実行します。

PS C:\Python\Python35> cd ..\..\work\virtualwork
PS C:\work\virtualwork> C:\Python\Python35\python.exe -m venv venv

仮想環境を起動してPythonのバージョンを確認します。

PS C:\work\virtualwork> .\venv\Scripts\activate
(venv) PS C:\work\virtualwork>
(venv) PS C:\work\virtualwork> python --version
Python 3.5.3

後は仮想化した状態でpipを初期化して、好きなパッケージをインストールして、
環境を利用してください。
仮想環境を閉じるときはdeactivateで閉じます。

(venv) PS C:\work\virtualwork> deactivate
PS C:\work\virtualwork>

仮想化を閉じると元の3.7に戻ります。

PS C:\work\virtualwork> python --version
Python 3.7.0

まとめ

何とかVSCodeと仮想環境を使えるように奮闘してましたが、PowerShellの拡張機能がVSCodeにあったのでそれを使ったら一気に解決しちゃいました。
PowerShellがVSCode上で利用できるので開発効率もかなり上がると思います。

17
23
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
17
23