search
LoginSignup
5

More than 1 year has passed since last update.

これは 求ム!Pythonを使ってAzureで開発する時のTips!【PR】日本マイクロソフト Advent Calendar 2020 - Qiita 10日目の記事です。

TL;DR;

Python初学者でもVSCodeのRemoteContainersでイケイケに開発できる

背景

Pythonで書かれたコードを触る機会がありました。
しかし私はGoやJava、TypeScriptは書いていても、Pythonを書いたことはありませんでした。

そんな私がPythonの開発環境構築をバシュッと行った方法をご紹介します。

とりあえず VSCode RemoteContainers

私はVSCode派なので、VSCodeを使って開発がしたいと思いました。
そこで、RemoteContainersで環境を作れば良いよねってことで環境構築していきました。

RemoteContainersとは

VSCodeの拡張機能の一つで、ローカル上のDockerコンテナを立ち上げてその中で開発作業を行うものです。

概略図

拡張機能の正式名称はVisual Studio Code Remote - Containersであり、本記事ではRemoteContainersと呼ばせていただいています。

使い方やさらなる詳しい説明は他の文献を参照ください。
- Visual Studio Code Remote Development
- Developing inside a Container using Visual Studio Code Remote Development
- VSCode Remote Containerが良い - Qiita

どんな感じでやったのか

公式で各種言語用のサンプル設定があるので、それをベースに構築しました。

今回はPythonだったので、microsoft/vscode-remote-try-python: Python sample project for trying out the VS Code Remote - Containers extension.devcontainerファイルをプロジェクトにコピーして利用しました。

あとは開発に必要な拡張機能だったり、ツールだったり、設定だったりを定義していくだけで開発環境が構築できます。

拡張機能を入れたい場合

ローカルで使っているVSCode拡張がそのままRemoteContainersでも使えるという訳ではないため、別途拡張機能を入れる設定を記述しなければいけません。
その場合は、.devcontainer/devcontainer.json"extensions"に必要な拡張機能のIDを入れていけばRemoteContainers起動時に自動で追加していってくれます。

開発に必要なツールを入れたい場合

こちらもローカルにあるawsコマンドがそのままRemoteContainersでも使えるという訳ではないため、設定を記述していきます。
先ほどとファイルが異なり、.devcontainer/Dockerfileの最下部にインストールコマンドを追加するとRemoteContainers起動時にインストールしてくれます。

その他

RemoteContainersの起動時にrequirements.txtに定義されたパッケージも自動でインストールしてくれるので、RemoteContainersが起動した時点で全部入りの環境が手に入ります。

バシュッと出来たのか

実質、.devcontainerを作ってRemoteContainersを起動しただけでマジでバシュッと環境が出来ました。

またVSCodeのPython拡張が優秀で、コードアシストしてくれたり、フォーマットしてくれたりで、「俺、Python書ける!」って思うくらいイケイケに開発することができました。

(実際は初学者なので、Goなどで書くよりウン倍も時間かかりました)

まとめ

どの言語でも共通して言えると思いますが、初学者にとって環境構築が鬼門になりますが、
そんな環境構築でも、VSCodeのRemoteContainersを使うと、Pythonの全部入りの環境が手に入ります。

そのため、Python初学者であってもイケイケに開発することができます。

またRemoteContainersで開発環境を構築すると、開発環境毎にランタイムを変えることがなくなります。
今回の場合は、Macで開発しており、MacのPythonは2系でしたが、RemoteContainersの中ではPython3系で開発できていました。

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
What you can do with signing up
5