プログラミング言語いれたら、得てしてアレもコレも追加モジュールいれてなんだか PC自体おかしくなって、全部消してやりなおした経験はでしょうか?
開発環境のお作法なんてのは、本職で毎日さわってないと、すぐ忘れる。。。
忘れたってええじゃない、開発環境をつくること自体が目的になってはいけません
新品のPCでもソッコーで以前までと同じ開発環境をつくれるような、「おてがる」な開発環境を作る
きっかけは AI の勉強をしていく上での勉強用に class="st" Python 環境を作って触ってきました
Python 環境もいろいろ実現方法があり
・Windows に Python をそのままインストール
・Windows に Anaconda をインストールして、仮想環境上に Python
・Linux系 OSで Python インストール
・pyenv を使う
・Docker で python 入りコンテナを使う
すでに 5種類。。。。色々試していくうちに、どれが正しいのかわからないまま、ずいぶんぐちゃぐちゃのボロボロになりました
結果、たどり着いた開発環境を自分の備忘録も含めまとめていきます
こんな感じでまとめていこうかと
【おてがる開発環境をつくろう】
1.まずは Docker Desktop インストール←今ココ
2.Docker であそぶ Python 入りのコンテナつくる
3.コンテナで Jupyter Lab 環境
4.さいきょうのえでぃた VS Code
まずは今となっては、開発者の方にとっては常識になってるかと思う Docker から
なんでコンテナ使うのか
壊れてもすぐ作り治せる
別のPCでも共通環境をソッコーで準備
自分のPCを汚さない、開発言語はちょっとしたバージョン変更、ライブラリ依存が大変
WSL 2 をセットアップ
Windows10 で標準に入っている Hyper-Vだけでも、DockerDesktop はインストールできますが、WSL で Ubuntu を用意しておくと何かと便利なので、一緒に準備しておく
https://docs.microsoft.com/ja-jp/windows/wsl/install-win10
※バージョン 1903 以降、ビルド 18362 以上
このバージョンアップに結構時間がかかった
Hyper-Vを有効にする
Powershell で
> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
これが実行出来ない場合は、ビルドを確認
> wsl --set-default-version 2
Ubuntu と Windows Terminal を準備
Microsoft Storeでインストール
- Windows Terminal
- Ubuntu
※MSのアカウントが必要
Windows Terminal で WSL の Ubuntu が実行できるようになると、Windows上でも Linuxコマンドが実行できるようになるので何かと便利
Docker Desktop のインストール
ここでようやく Docker Desktop をインストール
ダウンロードして、インストール(5分くらい)
https://www.docker.com/products/docker-desktop
インストール後、一度ログアウトする
まずは dockerhub アカウントを作ろう
dockerhubサイト
https://hub.docker.com/
Windows Terminal を開いて dockerhubアカウントを config 登録しておく
$ docker login
はじめてのコンテナ起動
こんな感じでとりあえず流してみる
$ docker version $ docker pull hello-world # dockerhub からコンテナダウンロード $ docker ps # 起動しているコンテナの状況確認 $ docker ps –a # 起動していないコンテナも確認 $ docker rm <CONTAINER ID> #コンテナ削除
実行例)
$ docker run hello-world Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/get-started/
よくつかう Dockerコマンド
・起動中のコンテナを表示
$ docker ps
・コンテナイメージを表示
$ docker images
・コンテナ起動
$ docker run
・起動中のコンテナに入る
$ docker exec