top of page
Search

การติดตั้งและใช้งาน Jupyter Notebook ใน Pycharm

  • Writer: Kritthanit Malathong
    Kritthanit Malathong
  • Oct 2, 2024
  • 2 min read

โพสต์เมื่อวันที่ 2 ตุลาคม 2567



ปัญหา

โปรแกรม Pycharm มีอยู่ 2 เวอร์ชั่นคือ Professional (เสียเงิน) และ Comunity (ฟรี) แน่นอนว่าทั้งสองเวอร์ชั่นย่อมมีความแตกต่าง และหนึ่งในความแตกต่างนั่นก็คือ เวอร์ชั่นฟรี ไม่สามารถใช้ jupyter notebook ใน pycharm ได้ ดังรูปด้านล่าง ซึ่งเราจะเห็นว่ามีเครื่องหมายแม่กุญแจล็อคเอาไว้



แล้วทำไมต้องใช้ Jupyter Notebook?

ก่อนอื่นเราต้องเข้าใจก่อนว่าการเขียนโปรแกรมใน Jupyter Notebook กับการเขียนโปรแกรมใน Pycharm ต่างกันอย่างไร


พื้นฐานของโปรแกรมทุกโปรแกรมคือ เราจะเห็นผลลัพธ์ก็ต่อเมื่อโปรแกรมรันเสร็จแล้ว และโปรแกรมจะทำงานทีละบรรทัดไล่จากบนลงล่าง ซึ่งถ้ามันรันได้ถูกต้องตามปกติก็คงไม่มีปัญหาอะไร แต่ถ้ามันเกิด error ขึ้นมานี่สิปัญหา ลองดูตัวอย่างต่อไปนี้


สมมุติว่าโปรแกรมของเรามีอยู่ทั้งหมด 3 ส่วนคือ

  • โหลดข้อมูล สมมุติว่าข้อมูลใหญ่มาก เราต้องใช้เวลา 5 นาทีในการโหลดแต่ละครั้ง

  • ประมวลผลข้อมูล สมมุติว่าส่วนนี้ใช้เวลา 10 นาที

  • บันทึกผล ใช้เวลา 1นาที


ลองคิดดูว่าถ้าเกิดโปรแกรมของเรา error ในส่วนประมวลผลจะเกิดอะไรขึ้น แน่นอนว่าโปรแกรมของเราก็ต้องหยุดทำงาน และเราก็ต้องแก้ไขโปรแกรมใหม่ และเริ่มรันโปรแกรมใหม่ทั้งหมดอีกครั้ง ซึ่งหมายความว่าเราก็ต้องรันโปรแกรมในส่วนที่ 1 ใหม่ด้วย ทำให้เราต้องรอ 5 นาทีเป็นอย่างน้อย ในการรันแต่ละครั้ง แล้วคอยลุ้นว่าโค้ดส่วนที่เราแก้ไปนั้นทำงานได้ไหม


จากตัวอย่างข้างต้นจะเห็นว่า เราต้องเสียเวลาโดยไม่จำเป็นในการรันแต่ละรอบ ทำให้งานของเราช้าตามไปด้วย ซึ่งปัญหาตรงนี้แหละครับที่ jupyter notebook มันมีประโยชน์


Jupyter notebook จะแบ่งโปรแกรมออกเป็นส่วนๆ (โดยเรากำหนดเองว่าจะแบ่งยังไง) และเราสามารถเลือกรันแค่ส่วนนั้น หรือจะรันทุกส่วนเลยก็ได้ เช่น จากตัวอย่างข้างต้น เราแบ่งโปรแกรมอออกเป็น 3 ส่วน ถึงแม้โปรแกรมเราจะ error ในส่วนที่ 2 เราก็ไม่ต้องรันส่วนที่ 1 ใหม่ เมื่อเราแก้โค้ดส่วนที่ 2 แล้ว เราก็สามารถเริ่มรันจากส่วนที่ 2 ต่อไปได้เลย ทำให้เราไม่ต้องเสียเวลาโหลดข้อมูลใหม่อีกรอบ


ข้อดีอีกอย่างของ jupyter notebook ก็คือ เราสามารถเขียนคอมเม้นท์อธิบายการทำงานแต่ละส่วนได้อย่างชัดเจน ทำให้เหมาะสำหรับใช้เขียนโปรแกรมตัวอย่าง เพื่อใช้ในการสอน


และข้อดีอีกข้อที่เหมือนจะไม่ใช่ข้อดีก็คือ โค้ดที่เราเรียนในโปรแกรม pycharm สามารถเอามารันใน jupyter notebook ได้เลย โดยไม่ต้องแก้ไขอะไร


Jupyter Notebook และ Google Colab

โปรแกรมทั้งสองตัวนี้ค่อนข้างเหมือนกันในลักษณะการทำงาน คือ แบ่งโปรแกรมออกเป็นส่วนๆ และรันแยกทีละส่วนได้ แต่ข้อแตกต่างก็คือ jupyter notebook จะรันโปรแกรมโดยใช้ทรัพยากรของเครื่องเรา ส่วน Google Colab จะใช้ทรัพยากรณ์จาก server ของ google ซึ่งหมายความว่าต่อให้สเปคคอมของเราไม่สูงมากนัก แต่เราก็รันโปรแกรมระดับสูงอย่างพวก machine learning ได้ใน google colab


แต่เนื่องจาก google colab รันใน server การทำงานกับไฟล์ในเครื่องของเราจึงค่อนข้างลำบาก กล่าวคือ ถ้าเราจะให้มันประมวลผลไฟล์ในเครื่องของเรา เราก็ต้องอัพโหลดไฟล์นั้นจากเครื่องของเราเข้าไปในโปรแกรม เหมือนกับที่เราอัพโหลดไฟล์ขึ้นอินเตอร์เน็ตทั่วไป ทำให้เราต้องเสียเวลาในส่วนนี้นาน หรือถ้าอยากประหยัดเวลาหน่อย เราก็เลือกอัพโหลดใส่ใน google drive ของเรา แล้วให้ google colab เข้ามาอ่านไฟล์จาก google drive อีกที วิธีนี้จะทำให้เราเสียเวลาอัพโหลดไฟล์แค่ครั้งเดียวตอนอัพโหลดใส่ google drive เท่านั้น


แต่ถ้าหากเราไม่อยากเสียเวลาอัพโหลดไฟล์แบบนั้น jupyter notebook ก็คือคำตอบ เพราะมันใช้ทรัพยากรณ์ของเครื่องเราโดยตรง ดังนั้นมันจึงเข้าถึงไฟล์ในเครื่องของเราได้โดยตรง และทำให้เราสามารถใช้งานแบบ offline ได้ ซึ่งแตกต่างจาก google colab ที่ต้องเชื่อมต่อ internet ตลอดเวลา


สรุปข้อดีของ jupyter notebook
  1. เหมาะสำหรับใช้ debug โปรแกรม

  2. เหมาะสำหรับใช้สร้างโปรแกรมสำหรับสอน เพราะสามารถใส่คำอธิบายการทำงานของโปรแกรมแต่ละส่วนลงไปได้อย่างละเอียดและชัดเจน

  3. ใช้ Code เดียวกันกับโปรแกรมใน pycharm ดังนั้นถ้าเราทดสอบโปรแกรมใน jupyter notebook เสร็จแล้ว เราก็ไม่ต้องเสียเวลาแก้โค้ด แค่ copy มาวางในโปรแกรม .py แล้วรันต่อได้เลย

  4. ใช้งานแบบ offline ได้

  5. ทำงานกับไฟล์ได้สะดวกกว่า google colab เพราะไม่ต้องเสียเวลาอัพโหลดไฟล์


แล้วจะใช้ Jupyter Notebook ใน Pycharm Community ได้ยังไง

อย่างที่ผมบอกไปตอนต้นว่า Jupyter Notebook ใช้ได้ใน Pycharm Professional เท่านั้น


อ้าว…. งั้นถ้าผมใช้ Pycharm Community ก็ใช้ Jupyter Notebook ไม่ได้เหรอ?


คำตอบคือ ไม่ใช่ครับ คุณต้องอ่านดีๆ คำว่าใช้ jupyter notebook ใน pycharm ก็คือรัน jupyter notebook ใน pycharm โดยตรง ซึ่งเราจะทำแบบนี้ได้ก็ต่อเมื่อใช้เวอร์ชั่น professional เท่านั้น


ส่วนเวอร์ชั่นฟรี เราก็สามารถใช้ jupyter notebook ได้ เพียงแค่ต้องรันนอกโปรแกรม pycharm เท่านั้นเอง โดยเราจะรันมันใน web browser


การติดตั้งและใช้งาน Jupyter Notebook

ปัจจุบัน Jupyter มี Product 2 ตัวคือ

  • Jupyter Lab

  • Jupyter Notebook


ข้อแตกต่างก็คือ Jupyter Lab จะมีเครื่องมือให้ใช้เยอะกว่า แต่ไม่ต้องห่วงครับทั้งสองตัวใช้ฟรี ดังนั้นเราจะติดตั้ง jupyter lab แทน jupyter notebook (ซึ่ง jupyter notebook ก็เป็นหนึ่งในเครื่องมือที่มีมาให้ใน jupyter lab)


ให้เราพิมพ์คำสั่งต่อไปนี้ใน command window ของโปรแกรม pycharm นะครับ


pip install jupyterlab

แค่นี้ก็ติดตั้งเสร็จแล้วครับ


ต่อไปเวลาจะเรียกใช้งาน ก็พิมพ์คำสั่งต่อไปนี้ใน command window ของ pycharm


jupyter lab

ซึ่งมันก็ง่ายแหละ แต่มันก็ไม่ได้ง่ายที่สุด เพราะหากเราไม่ได้ใช้นานๆ เราอาจจะลืมว่าต้องรัน jupyter notebook ยังไง


ดังนั้นผมจึงสร้างไฟล์ .py เพื่อรัน jupyter notebook ดังนี้



ต่อไปเวลาเราจะใช้งาน jupeter notebook ก็คลิกรันจากไฟล์นี้ได้โดยตรงเลย ง่ายและสะดวกขึ้นเยอะเลย


เมื่อเรากดรัน jupyter lab มันจะรันใน web browser ให้เราโดยอัตโนมัติ โดยหน้าตาเริ่มต้นของโปรแกรมจะเป็นดังนี้



ถ้าเราอยากใช้งาน Jupyter Notebook เราก็คลิกที่ Python 3 ตรงแท็บ Notebook เท่านี้ก็เป็นอันเสร็จเรียบร้อย

 
 
 

Comments


bottom of page