dockerでpython
2024年11月16日土曜日
pythonの環境構築が苦手すぎる。
python, python3, pip, pip3, pipx, venv, conda...
基礎を理解してないからなのはわかっているんですが、どういう状態でpythonがインストールされているのかわからなくなる。
パッケージ管理ソフトをてきとーに入れているとどのpythonのパスが通っているのかわからない。
じゃあdockerで毎回新しくpython環境つくれば、他のpython環境に影響されない純粋なpipとpythonコマンドが使えるんじゃないかと思った。
compose.yamlファイルを作る
services:
app:
image: python:3-slim
working_dir: /app
ports:
- 8000:8000
command: ["sh", "-c", "tail -f /dev/null"]
volumes:
- ./:/app
pythonの軽量版のイメージを使う
appディレクトリにcdせずに済む
djangoやるかもしれないから8000を繋いでおく
コンテナはプロセスが実行されていないと終了するため、ログを取るコマンドを実行させておく。
composeファイルのあるディレクトリとコンテナ内のappディレクトリを繋いでおく。
pythonを実行する
そのディレクトリで
docker compose up -d
でコンテナを作る。
docker exec -it コンテナ名 sh
でコンテナの中に入る。
あとはcompose.yamlファイルが有るディレクトリにpyファイル作ってコードを書く、
コンテナ内で実行するだけ。
出るときはexit
これでpython環境をなんにも考えずに作れるから便利だなと思っていたら、よく考えたらdockerはCUI用だからTkinterとかGUIアプリ作ろうと思ったらだめなのか。
djangoとかサーバー系を動かすのにしか向かないのか。
今のところpythonでGUIアプリを作る予定はないけれど、作りたい場合は結局自分のmacのpythonの環境を整理しないと・・・
コメント
0 件のコメント :
コメントを投稿