เริ่ม Python กับ VSCode

Python ได้รับความนิยมอย่างสูงเพราะต้วภาษาที่ยืดหยุ่น เข้าใจได้ง่าย อีกทั้ง Microsoft ยังพัฒนาส่วนขยายสำหรับ Python ใน VSCode (Visual Studio Code) ซึ่งเป็นเครื่องมือพัฒนาโปรแกรมที่ได้ความนิยมอย่ามาก ทำให้ Python ถูกอย่างแพร่หลาย ตั้งแต่ Web application ไปจนถึง Machine Learning ทำให้ภาษาที่คนสาย Data Science จำเป็นต้องเรียน

เตรียมสภาพแวดล้อมสำหรับ Python บน VSCode

ติดตั้ง VSCode

โดยดาวน์โหลดจาก https://code.visualstudio.com/download

ติดตั้ง Python

สำหรับ Windows ดาวน์โหลดจาก https://www.python.org/downloads/

สำหรับ Mac ติดตั้งผ่าน brew (ถ้าใครยังไม่รู้จักหรือไม่มีแนะนำให้ติดตั้ง brew.sh ก่อน) ใช้คำสั่งใน Terminal

brew install python3

ปกติแล้ว Mac จะมาพร้อมกับ python3 (แต่ไม่ update บ่อยเท่า brew) ซึ่งถูกใช้เป็นคำสั่งตั้งต้น ถ้าเราต้องการใช้ python3 จาก brew ให้เพิ่ม PATH เขาไปให้ .bashrc หรือ .bash_profile หรือ .zshrc หรือ แค่พิมพ์ใน Terminal

export PATH="/usr/local/bin:$PATH:$HOME/.local/bin"

ติดตั้ง pipenv

pipenv เป็นตัวจัดการแพ็คเกจสำหรับ Python ที่สามารถใช้ได้ทั้ง Windows และ Mac

ทำไมถึงต้องจัดการแพ็คเกจ เนื่องจากการพัฒนาโปรแกรม เราจำเป็นที่จะต้องใช้ Library หลายๆตัวในโปรเจค ปกติเราใช้ pip ในการติดตั้ง Library แต่ pip จะติดตั้งรวมกันในที่เดียว ถ้าเรามีหลายๆโปรเจคและแต่ละโปรเจคให้ Library ตัวเดียวกันแต่เวอร์ชันต่างการใช้ pip เพียงอย่างเดียวจึงสร้างความยุ่งยากเมื่อมีโปรเจคเพิ่มขึ้น

การใช้ pipenv จะช่วยแยกสภาพแวดล้อมของแต่ละโปรเจคและแก้ปัญหาเรื่องเวอร์ชันที่ต่างกันของ Library ได้ การติดตั้ง pipenv ทำได้โดยใช้คำสั่ง

pip3 install --user pipenv # ได้ทั้ง Windows และ Mac

สำหรับ Mac ผ่าน brew

brew install pipenv 

รันและ Debug Python ใน  VSCode

หลังจากเตรียมเครื่องมือต่างๆเสร็จแล้ว ให้เปิด VSCode แล้วติดตั้ง Python Extensions

ลง Python extension สำหรับ VS Code
ลง Python extension สำหรับ VSCode

จากนั้นไปที่ Terminal สร้าง folder สำหรับทดลองการใชังานโดยใช้คำสั่ง

mkdir try-python-vscode
cd mkdir try-python-vscode

สร้างสภาพแวดล้อมสำหรับโปรเจคนี้ด้วยคำสั่ง

pipenv shell

แล้วเรียกใช้งาน VSCode

code .

VSCode จะถูกเรียกขั้นมาแล้วถูกตั้งค่าให้รู้จักกับสภาพแวดล้อมของ pipenv ทันที สร้างไฟล์ใหม่ ตั้งชื่อว่า main.py

สร้างไฟล์ใหม่
สร้างไฟล์ใหม่

กด Cmd + Shift + D (Mac) หรือ Ctrl + Shift + D (Windows) หรือเลือกแทบ Debug แล้ว คลิ๊กที่ create a launch.json file เพื่อสร้างไฟล์สำหรับเก็บการตั้งค่า Debug ให้กับโปรเจค

สร้าง launch.json สำหรับรันและ Debug Python
สร้าง launch.json สำหรับรันและ Debug Python
ตัวอย่าง launch.json
ตัวอย่าง launch.json

เมื่อไฟล์สำหรับการตั้งค่าถูกสร้างเสร็จให้กลับไปที่ main.py แล้วพิมพ์คำสั่ง

print('Hello, World!')

แล้วกด F5 เพื่อรันโปรแกรม VSCode จะแสดงผลลัพธ์ที่ Terminal

รันโปรแกรม
รันโปรแกรม

ลอง Debug ด้วยการสร้าง Breakpoint (จุดสีแดง) ที่บรรทัดที่ต้องการโดยกดปุ่ม F9 หรือ คลิ๊กที่ด้านหน้าตัวเลข

สร้าง Breakpoint
สร้าง Breakpoint

กด F5 เพื่อรันโปรแกรมอีกทีจะเห็นได้ว่า VSCode จะหยุดเพื่อรอบรรทัดที่เราสร้าง Breakpoint ไว้ ให้กด F5 เพื่อให้โปรแกรมดำเนินการต่อ

Debug Python
Debug Python

ติดตั้ง Pylint

Pylint เป็นเครื่องมือที่ใช้ตรวจสอบโค้ดของ Python ว่ามีข้อผิดพลาดตรงจุดไหนบ้างและแนะนำถึงการแก้ไขด้วย

ทำการติดตั้ง pylint ให้กลับไปที่ Terminal หรือ Command Prompt แล้วพิมพ์คำสั่ง

pip3 install pylint

กลับไปที่ VSCode แล้วลบ “(” “)” ออกจากโค้ด ใช้ปุ่มลัด Cmd + Shift + P (Mac) หรือ Ctrl + Shift + P (Windows) เพื่อเรียกใช้คำสั่ง Python: Run Lint แล้วกด Shift + Cmd + M (Mac) หรือ Shift + Ctrl + M (Windows) เพื่อดูความผิดพลาดที่ Lint ตรวจเจอ

Pylint ตรวจสอบความถูกต้อง
Pylint ตรวจสอบความถูกต้อง

จัดโค้ด Python ใน VSCode

VSCode สนับสนุนการจัดโค้ด Python ผ่านคำสั่ง autopep8 ซึ่งเป็นเครื่องมีอช่วยจัดโค้ดให้เป็นไปตามมาตรฐานของ PEP8 (มาตรฐานกลางในการจัดโค้ดของ Python)

ทำการติดตั้ง autopep8 ให้กลับไปที่ Terminal หรือ Command Prompt แล้วพิมพ์คำสั่ง

pip3 install autopep8

หลังจากติดตั้งเสร็จ กลับไปที่ VSCode ลบทุกอย่างใน main.py แล้วพิมพ์คำสั่ง

def print_message():
  print('Hello, World!') # ใช้ 2 space สำหรับ Indent

print_message() # เว้น 1 บรรทัด

ให้ใช้ปุ่มลัด Option + Shift + F (Mac) หรือ Alt + Shift + F (Windows) เพื่อจัดโค้ด VSCode จะจัดเรียงโค้ดใหม่ตามมาตรฐาน

จัดโค้ดด้วย autopep8
จัดโค้ดด้วย autopep8

Python ได้รับความนิยมอย่างสูงเพราะต้วภาษาที่ยืดหยุ่น เข้าใจได้ง่าย และได้รับความนิยมอย่างสูงในการใช้กับ Machine Learning

เท่านี้เราก็พร้อมพัฒนา Python ด้วย VSCode แล้ว

อ้างอิง

https://code.visualstudio.com/docs/python/environments
https://code.visualstudio.com/docs/python/debugging
https://pipenv.pypa.io/en/latest/install/#installing-pipenv
https://github.com/hhatto/autopep8
https://github.com/PyCQA/pylint