Try   HackMD

Python:Visual Studio Code 在 WSL 中進行開發

〔Step 1〕先安裝 WSL

Windows Subsystem for Linux(WSL)的安裝方法可以參考我寫的這篇文章:

WSL:如何在 Win10 系統上安裝 Linux 子系統

〔Step 2〕再安裝 Visual Studio Code

VS Code 下載網址:https://code.visualstudio.com

VS Code 跟 Visual Studio 差別在哪

Visual Studio Code(VS Code)跟 Visual Studio 是不同的,Visual Studio Code 是由微軟開發且跨平台的一款輕量級免費原始碼編輯器。VS Code 可以在 Linux 系統上運行,但 Visual Studio 無法。下圖左邊紫色的 icon 是 Visual Studio,右邊藍色的 icon 才是 VS Code。

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

〔Step 3〕安裝 VS Code 擴充工具 Remote - WSL

裝好 VS Code 之後打開可以切到擴充工具的面板(Extensions)搜尋框上輸入「Remote - WSL」。Remote - WSL 允許我們在 Windows 系統上使用 VS Code 構建在 Windows Subsystem for Linux(WSL)上運行的 Linux 系統。也就是說 Remote - WSL 這個擴充工具可以讓我們在 WSL 中使用 VS Code,跟在 Windows 中完全一樣。(在擴充工具這裡也可以搜尋「Theme」來更換 VS Code 的介面主題外觀。)

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

如果在程式畫面左下角看到個圖案則代表 Remote - WSL 已經確認安裝成功。

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

〔Step 4〕Python 開發(Development)

如果還沒有安裝過 Python,先打開 Linux 終端機(我這邊是 Ubuntu 20.04 LTS),執行 pip install 的命令將 Python3 pip 安裝到 Linux 系統中。

sudo apt update
sudo apt install python3 python3-pip

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

安裝好確認一下當前 Python 的版本,執行以下命令:

python3 --version

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

〔Step 5〕在 WSL 中啟動 VS Code

我先在 C 槽新增一個叫 WSL 的資料夾,稍後要建立的檔案都會放在裡面。

  • mkdir [+foldername] 可以在當前路徑建立新資料夾
  • cd [+foldername] 可以進入該資料夾
mkdir WSL && cd WSL

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

在 WSL 中啟動 VS Code 的方式是在 WSL 終端機中輸入code .

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

VS Code 會在 Linux 端安裝一個小型伺服器,然後 VS Code 將和它連接。這個伺服器將在 WSL 中安裝擴充,讓它能夠在 WSL 中安裝的工具和框架中正確地執行。意思是這些擴展是針對安裝在 WSL 中的框架執行的,而不是針對安裝在 Windows 端的框架。

指令執行完畢後,VS Code 會自動啟動,應該會跳出一則提示說明 VS Code 正在連接到 WSL,並且可以訪問 Node.js-based 的伺服器。

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

〔Notes〕WSL home directory?

VS Code 執行時可能會提示你:

This workspace is on the Windows file system (/mnt/). For best performance, we recommend moving the workspace to the Linux file system (~/home).

linux 的 home 路徑會在這裡:

 \\wsl$\Ubuntu-20.04\home\<username>

如果開啟的時候是在 /mnt/c/WSL 路徑上,在開啟舊檔這邊輸入~就會導向 linux 目錄。

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

初始工作區位置會在/mnt/c,VS Code 會推薦你把路徑改到~/home
我們可以用指令:cp -R複製原本目錄資料夾下的所有檔案:

cp -R /mnt/c/WSL/ ~/my_project

在 WSL 終端進入 linux 的 \home\<username> 路徑:

cd ~/my_project

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

新建一個 hello 的 python 檔案:

echo 'print("hello world")' >> hello.py

再啟用 VS Code(那個 . 是引數不可省略,代表在當前路徑打開資料夾)

code .

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

〔Command〕Linux:cp -parameter

參數 功能
-a 除了具有-p參數功能外,還可以加入SElinux屬性
-i 如果要複製過去的位置已經有相同檔案,覆蓋前會詢問
-p 將檔案本身屬性(權限、所有者、時間)同時複製過去
-r 複製目錄資料夾下的所有檔案
-s 複製成捷徑連結檔案

〔Reference〕

https://code.visualstudio.com/docs/remote/wsl-tutorial
https://solidstudio.io/blog/windows-subsystem-for-linux-explained
https://superuser.com/questions/1185033/what-is-the-home-directory-on-windows-subsystem-for-
https://stackoverflow.com/questions/66753829/how-to-move-workspacea-simple-project-from-windows-file-system-mnt-to-linu
https://dylan237.github.io/linux-basic.html


衍生閱讀: WSL:如何在 Win10 系統上安裝 Linux 子系統
衍生閱讀: WslRegisterDistribution Error 0x80370102 解決方法


: : 20211007 : : 與松 withhhsong : :

tags: withhhsong tutorials python wsl