นี่ไม่ใช่หลาม นี่มันเหลือม! Python นั้นติดตั้งง่ายไฉน ภาค 2

Nutto55
Abbon Corporation
Published in
2 min readNov 9, 2023

--

สวัสดีนักอ่านทุกท่านค่ะ กลับมาอีกครั้งกับวิธีการติดตั้ง Python บนคอมพิวเตอร์ฉบับง๊ายง่ายที่ใครๆ (ที่มีคอมฯ) ก็ทำได้ค่ะ ย้ำอีกครั้งนะคะ Python ที่หมายถึงไม่ใช่งูตัวเป็นๆ แต่คือภาษาโปรแกรมมิ่งภาษาหนึ่งที่สุดฮอตบนโลกในปี 2023 นี้ค่ะ

source: Python programming logo

เกริ่นนำกันอีกซักหน่อย 🚶‍♀️🚶‍♂️🚶

ตลอดระยะเวลาที่ผ่านมาตั้งแต่รู้จักกับ Python ครั้งแรกที่ version 3.6 ก็ผ่านมาได้ 5 ปีกว่าๆ แล้วค่ะ ในระยะเวลาเพียงเท่านี้ Python ก็มี version ใหม่ๆ ออกมาโดยตลอดจนถึงปีนี้ (2023) ก็เป็น version 3.12 แล้วค่ะ เรียกได้ว่าออกมาปีต่อปีเลยก็ได้ค่ะ

source: Python release cycle

โดยในระยะเวลานี้แน่นอนว่าเราต้องมีการ maintenance project เดิมๆ และขึ้น project ใหม่ๆ มาโดยตลอดด้วย ทีนี้เวลาเราจะขึ้นโปรเจคใหม่ๆ แน่นอนเราก็ต้องอยากได้ของใหม่ๆ version ใหม่ใช่ไหมคะ? อะอ้าววว… อย่างนี้ถ้าใช้วิธีติดตั้งแบบที่ ภาค 1 ทำมันก็ต้องถอนการติดตั้ง version เก่าก่อนถึงจะลง version ใหม่น่ะสิ้! ของเก่าก็ยังต้องดูแล แต่ของใหม่ก็อยากได้… ไม่ต้องเป็นห่วงไปค่ะเพราะ พระเอกของเราในวันนี้คือ Python version management ที่ชื่อว่า pyenv นั่นเอง!

ถ้าหาก ภาค 1 เปรียบเสมือนการติดตั้ง Python แบบช่องทางธรรมชาติแล้ว ภาคนี้ก็จะสอนติดตั้งแบบช่องทางโกงความตายค่ะ (ฮา)

**ถ้าหากเคยติดตั้ง Python ไว้ก่อนแล้วอย่าลืมถอนการติดตั้งก่อนเพื่อป้องกันไม่ไห้ config conflict กันนะคะ**

มาเริ่มกันเลย pyenv macOS! 🍎

สำหรับชาว macOS เราจะใช้ pyenv ในการจัดการ Python version กันค่ะ ขอเพียงคุณมี homebrew ทุกอย่างจะง่ายขึ้น 10 ระดับ! ขอบคุณผู้พัฒนา lib ดีๆ มา ณ ที่นี้ด้วยค่ะ!

Step 1: เปิด terminal แล้วแปะคำสั่งนี้ลงไป

brew update && brew install pyenv

Step 2: แปะ config ลงไปใน ~/.bashrc ด้วยคำสั่งนี้

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc

Step 3: ลองเช็กก่อนว่าเราเคยมี file ชื่อ ~/.profile หรือ ~/.bash_profile แล้วหรือยัง ถ้าหากมีแล้วก็ใช้คำสั่งนี้ได้เลย

// สำหรับ ~/.profile
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile
echo 'eval "$(pyenv init -)"' >> ~/.profile
// สำหรับ ~/.bash_profile
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

ถ้าหากยังไม่เคยมีซักอย่างเลยสามารถใช้คำสั่งสำหรับ ~/.profile ได้เลยค่ะ

มาเริ่มกันเลย pyenv Windows! 🪟

สำหรับ Windows แล้วตัว original ไม่ได้ทำ support ค่ะ แต่ทว่าสังคมชาวเดฟคือการแบ่งปันและพัฒนาค่ะ เลยอยากจะขอพื้นที่เล็กๆ ตรงนี้ขอบคุณผู้ต่อยอด lib pyenv-win มา ณ ที่นี้ด้วยค่ะ

Step 1: เปิด PowerShell ขึ้นมาแล้วแปะคำสั่งนี้ลงไปพร้อม Enter ค่ะ

Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"

เสร็จแล้วค่ะ pyenv-win มี step เดียวค่ะ✨

มาติดตั้ง Python version กัน 🐍

หลังจากติดตั้ง pyenv เสร็จเรียบร้อยแล้ว ทีนี้เราจะมาติดตั้ง Python version ที่เราต้องการกันค่ะ โดยวิธีการติดตั้งของทั้ง macOS และ Windows จะเหมือนกันนะคะ

Step 1: ปิดแล้วเปิด terminal ขึ้นมาใหม่ แล้วแปะคำสั่งนี้เพื่อเช็คว่าติดตั้ง pyenv สำเร็จแล้วค่ะ

pyenv --version

Step 2: ตรวจสอบPython version ที่รองรับด้วยคำสั่งนี้

pyenv install -l

Step 3: ติดตั้ง Python version ที่ต้องการได้เลยด้วยคำสั่งนี้

pyenv install <version>

Step 4: ในกรณีที่เรามี Python หลายๆ version เราจะใช้คำสั่งนี้เพื่อ set version ที่เราต้องการค่ะ

pyenv global <version>

Last Step: เช็คว่า Python version ของเราอยู่ใน version ที่ต้องการ

python -V

เพียงเท่านี้ น้องเหลือม เอ้ย! น้องหลามก็พร้อมให้เราเขียนโค้ดแล้วค่ะ ✨

ก่อนจากกัน… ขอสัญญา~🎶

ก็จบกันไปแล้ว สำหรับการติดตั้ง Python ภาค 2 ค่ะ ทุกท่านที่หลงเข้ามาใช้น้องหลามทำอะไรกันบ้างคะ? สำหรับนัทเอง เมื่อก่อนก็ใช้น้องหลามทำหลายๆ อย่างเลยค่ะ เช่น ส่ง file แบบเบิ้มๆ ขึ้น cloud เอย train Machine Learning model เอย ลองใช้เขียน API กิ๊กๆ ก็อกๆ เอย หรือแม้แต่ล่าสุดที่ลองเอาน้องมาเขียน discord bot ค่ะ! เขียนก็ง่าย ทำก็ได้หลายอย่างจะไม่ให้ตกหลุมรักได้ยังไงกันคะ! 🥰

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

--

--

Nutto55
Abbon Corporation

Developer who interested in sexy code and the things out of it.