LoginSignup
6
5

More than 3 years have 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系で開発できていました。

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