こんにちは。
現役エンジニアの”はやぶさ”@Cpp_Learningです。
WindowsやLinux(Ubuntu/Redmineなど)でソフトウェア開発をしています。
会社が支給するPCが基本的にWindowsマシンなので…
Windows7のときは、VMでLinuxをインストールしたり、デュアルブートにすることで両方のOSを使っていました。
最近、Windows10を手に入れ「Windows Subsystem for Linux」により、簡単にWindowsからLinux(Ubuntuなど)を使えることを知ったので…
WindowsアプリでGUIを使いつつ、Linux(Ubuntu)のターミナルを叩ける!…端的に言って最高でした(*・ω・)ノ♪
「何をインストールしたか?」などの備忘録も兼ねて本記事を書きます。
ご参考までに
Ubuntuをインストールしました!!
Contents
WSLのインストール方法
「Windows Subsystem for Linux(WSL)とは?」や「WSLのインストール方法!」などは”ググる”と沢山情報が出てきます。
例えば、以下の記事など
なので、そのあたりは割愛します。
快適プログラミングのための環境構築
WSLを使って快適なプログラミングをするために、実施したことを説明します。
↑のようにコマンドを叩いていけば、私と同じ環境が構築できますよ(*・ω・)ノ♪
パッケージのアップデート
まず最初はこれをしないとね!
sudo apt update
sudo apt upgrade
以降からは快適にプログラミングをするためにインストールしたものを紹介します。
(ここから本番?)
C++コンパイラなど
GNU C++ compilerなどプログラミングに必須のツールは以下のコマンドで一式手に入ります
sudo apt install build-essential
Python3
最近Pythonもよく使うのでインストール
sudo apt install python3
pip
Pythonパッケージ管理ならpipが楽ですよねー
sudo apt install python-pip
venv
仮想環境を作って管理するが好きなので、venvもインストール
sudo apt-get install python3-venv
以上でインストールは終了!以降からは、さらに自分好みになるように環境を整えていきます。
Visual Studio Codeと連携
エディタにVSCodeを使いたいので、ターミナルをWSL(Ubuntu)に変更します。
VSCodeを起動して以下の手順に従って設定すれば、VSCodeからWSL(Ubuntu)を使えますよ。
ターミナル変更手順
タブの「ファイル」⇒「基本設定」⇒「設定」で”User Setting”を開き、以下のターミナル設定用のコードを編集 or 追記します。
“terminal.integrated.shell.windows”: “C:\\WINDOWS\\System32\\bash.exe”
ターミナル表示手順
タブの「表示」⇒「統合ターミナル」でターミナルを表示できます。
または「Ctrl + @」のショートカットキーでもOK!
↑のように、WSL(Ubuntu)のターミナルと同じ表示になれば成功です。
VSCodeのターミナル設定については、以下の記事で丁寧に説明していますので、困ったときは参考にして下さいね。
WindowsとWSL(Ubuntu)とのデータ共有
WSL(Ubuntu)を起動すると、デフォルトだと以下の場所にいます。
/home/User
以下のコマンドで移動すると Cドライブに移動できます。
cd ..
cd ..
cd mnt/c
ここまでくれば、WindowsとWSL(Ubuntu)でデータを共有できます。
VSCodeから共有フォルダを作成
VSCodeのターミナルをWSL(Ubuntu)に変更したので、VSCodeから共有フォルダを作成します。
VSCodeのターミナル”WSL(Ubuntu)”はデフォルトだと以下の場所にいます。
/mnt/c/Users/UserName
つまり、移動なしでWindowsとデータ共有できる場所にいます(地味に嬉しい)
どこに共有フォルダを作成しても良いのですが、散らかるのが嫌なので、私は以下の場所を”WSL(Ubuntu)”の作業スペースにしました。
/mnt/c/Users/UserName/Ubuntu
WindowsでGUIから、またはターミナルから以下のコマンドでフォルダを生成できます。
mkdir Ubuntu
フォルダ生成に限らず、WindowsもLinux(Ubuntu)も手軽に使えるのって、端的に言って最高!
仮想環境生成
プロジェクト管理の観点から、初めに仮想環境を作成しておくと便利です。
前準備
今、以下の場所にいるとして…
/mnt/c/Users/UserName/Ubuntu
以下のコマンドで各仮想環境を管理するフォルダを作成し、そこに移動します。
mkdir envs
cd envs
pwdコマンドで場所を確認できます。
pwd
/mnt/c/Users/UserName/Ubuntu/envs
venvで仮想環境を生成
venvがインストール済みなので、以下のコマンドで仮想環境を生成できます。
sudo python3 -m venv <仮想環境名>
今回は”cpp”という仮想環境を生成してみます。
sudo python3 -m venv cpp
任意の仮想環境をアクティブにする
venvで生成した仮想環境(cpp)は以下のツリー構造をしています。
cpp — bin — activate
|– lib
|– include
|– …
binフォルダ内のactivateを起動すると、仮想環境(cpp)をアクティブにできます。
今いる場所次第ですが、仮に以下の場所にいるなら…
/mnt/c/Users/UserName/Ubuntu/envs
以下のコマンドで仮想環境(cpp)をアクティブにできます。
source cpp/bin/activate
↓赤□を見れば、どの仮想環境がアクティブなのか?を確認できます。
任意の仮想環境から抜け出す
以下のコマンドでアクティブ環境を抜け出せます。
deactivate
今回はvenvを使って仮想環境を生成しましたが、Anacondaを使う場合は以下の記事が参考になりますよ。
【補足】仮想環境を生成するメリット
仮想環境を作るメリットについて簡単に説明しておきます。
「普段はあまり使わないけど、今回のプロジェクトでは○○のpythonパッケージが必須!」みたいなときがあります。
その場合、そのプロジェクト専用の仮想環境を作成し、その仮想環境にだけ必要なpythonパッケージをpipでインストールすれば、他の環境を汚さずに済みます。
また、フレームワークやライブラリのバージョンに互換性がなく、バージョンを更新すると動かないソフトもあります。
基本的には最新バージョンを使う方が良いのですが、一時的に古いバージョンで動くソフトを使いたいときがあります。
その場合も、古いバージョン用の仮想環境を作っておけば解決できます。
また、その仮想環境が不要になった場合、簡単に削除できるのも便利です。
つまり、仮想環境を作成するメリットは以下の通りです。
- 他の環境を汚さない
- プロジェクト管理が楽になる
- バージョン管理が楽になる
- 不要になった仮想環境は簡単に削除できる
まとめ
職業柄C++とPythonでソフトウェア開発をする機会が多いため、今まで何度もC++とPythonの両方が動く環境を構築してきました。
また、WindowsとLinuxの両OSを使う機会も多く、エディタにはVSCodeを愛用しています。
そのため本記事では…
『Windows10とWSL(Ubuntu)とVSCodeで快適なプログラミング環境を構築』する方法を説明しました。
備忘録のつもりで書きましたが、参考になる人もいるかも(?)
好みもあると思いますが、WSLを使えば…
と思いました!色々と試してみて、自分好みの快適なプログラミング環境を構築してみて下さいね(*・ω・)ノ♪
おまけ -仕事道具-
本記事では、快適にプログラミングをするための環境構築について説明しました。
より快適なプログラミング生活を楽しむなら、キーボードなどの仕事道具にも拘ると良いと考えています。
私オススメの仕事道具(キーボード/マウスなど)を以下の記事で紹介してるので、ご参考までに