【Mac】Cursor/VSCodeでDocker + poetryを用いた仮想環境構築
はじめに
最近仕事でjsonやyamlファイルを編集する時間が増えたので
テキストエディタをJupyter Labから話題のCursorに切り替えようと思ったが
仮想環境構築について簡単にまとめたものがなかったので自分用にまとめた
ディレクトリ構造
Docker設定ファイル作成
まずプロジェクトディレクトリ配下に拡張子なしの’dockerfile’作成
## base image
FROM python:3.12
RUN apt-get update &&\
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
# Poetryのインストール
RUN curl -sSL https://install.python-poetry.org | python -
# Poetryのパスの設定
ENV PATH /root/.local/bin:$PATH
# Poetryが仮想環境を生成しないようにする
RUN poetry config virtualenvs.create false
次に起動時の初期設定をする docker-compose.yaml を作成
#Docker のバージョン
version: '20.10.23'
#Dockerのコンテナの情報(なんでもいい)
services:
poetrytest:
restart: always
build: .
# コンテナの名前
container_name: 'base'
# 仮想環境に入ったあとの作業ディレクトリ名
working_dir: '/work/'
tty: true
# ローカルに存在するディレクトリ(./work)とコンテナ内のディレクトリ(/root/work)を同期させるための設定
volumes:
- ./work:/root/work
Dockerコンテナ起動
Docker を起動するには docker-compose.yaml がある階層で下記コマンドを実行
そしたらdockerデスクトップで新しくコンテナが作成されていることを確認
なお、Docker コンテナを停止するときは、以下のコマンド
Dockerコンテナ仮想環境に入る
コンテナが無事作れたらCursor/VSCodeの左下のリモートウィンドウ
をクリックしてAttach to Running Container(実行中のコンテナにアタッチ)
をクリック
すると新しいCursor/VSCodeが立ち上がって仮想環境に入れる
poetryでライブラリ追加/管理
仮想環境に入ったら基本poetryでライブラリを追加したり管理したりする
試しに下記のようなtest.pyを作成してpoetryを活用してみる
import pandas as pd
import seaborn as sns
def main():
df = pd.DataFrame({
"name" :["Alice", "Bob", "Carol"],
"role" : ["CEO", "CTO", "PM"],
"height" : [174, 182, 169]
})
print(df)
if __name__ == "__main__":
main()
test.pyを実行すると下記のように
seabornが入ってないエラーが出るのでpoetryでseabornを追加する
まず、下記コマンドでpyproject.tomlファイルを作成
するとpyproject.tomlファイルが生成される
次に、下記コマンドで追加したいライブラリを指定
自動的にパッケージが追加され、poetry.lockファイルが生成される
docker内の仮想環境ではpoetry installは新たに必要ないので
これで先ほどのtest.pyを実行すると下記のように正常に実行される
またnotebook形式での実行も正常にされるので
つどつどdockerを再起動しなくてもpoetry addしてるだけで良い
コードがある程度作れる環境になったら
gitにcommitするとき用に.gitignoreを作っておくのが良い
ここからテンプレが作れるから便利
参考文献:
この記事が気に入ったらサポートをしてみませんか?