LoginSignup
10
16

More than 3 years have passed since last update.

VSCodeとDockerでシンプルなPythonの開発環境を作る

Last updated at Posted at 2020-12-20

はじめに

VSCodeでDockerで動いているPythonを使って開発をする際に, ちゃんとコード補完をしてくれるシンプルな開発環境を作る.

準備

VSCodeのDockerとRomote-Containersの拡張機能をインストールしておく
スクリーンショット 2020-12-21 0.34.01.pngスクリーンショット 2020-12-21 0.38.52.png

DockerでPython3の環境を構築

Pythonの環境構築自体はdockerで簡易にpython3の環境を作ってみるを参考にした.

├ Dockerfile
├ docker-compose.yml
└ workspace/ (ここをコンテナにマウントして開発する)
Dockerfile
FROM python:3

RUN apt-get update
RUN apt-get -y install locales && \
    localedef -f UTF-8 -i ja_JP ja_JP.UTF-8
ENV LANG ja_JP.UTF-8
ENV LANGUAGE ja_JP:ja
ENV LC_ALL ja_JP.UTF-8
ENV TZ JST-9
ENV TERM xterm

RUN pip install --upgrade pip
RUN pip install --upgrade setuptools

workspaceをコンテナにマウントする.
(コンテナ内で編集した内容を引き継ぐため)

dokcer-compose.yml
version: '3'
services:
  python3:
    restart: always
    build: .
    container_name: 'python3'
    working_dir: '/workspace/'
    tty: true
    volumes:
      - ./workspace:/workspace

コンテナを起動

$ docker-compose up -d --build

確認

$ docker ps
CONTAINER ID        IMAGE                COMMAND             CREATED             STATUS              PORTS               NAMES
ab664cabca5f        python-dev_python3   "python3"           44 minutes ago      Up 44 minutes                           python3

必要なライブラリをインストール (コード補完の確認用に適当にnumpyをインストールしておく)

pip install numpy

起動したコンテナにVSCodeで接続する

サイドバーのDockerからコンテナを指定してAttach Visual Studio Codeを選択すると, コンテナに接続したVSCodeのウィンドウが新たに開く.
スクリーンショット 2020-12-21 0.43.53.png スクリーンショット 2020-12-21 0.08.30.png
「フォルダを開く」を選択し, マウントしたディレクトリを選択する.
スクリーンショット 2020-12-21 0.13.56.png
コンテナでPython拡張を使うために, Pythonの拡張機能をコンテナにインストールする.
スクリーンショット 2020-12-21 0.16.36.png
適当なPythonのファイルを作成し, interpreterにDockerで動いているPythonを指定する.
今回はPython 3.9.1
スクリーンショット 2020-12-21 0.27.53.png
これでコンテナにインストールしたライブラリを使う際にちゃんと補完してくれる.
スクリーンショット 2020-12-21 0.27.03.png

参考

dockerで簡易にpython3の環境を作ってみる

10
16
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
10
16