การสร้าง python package เพื่อใช้ pip install ในการติดตั้ง

ในการเขียนโปรแกรมภาษา python คงไม่มีใคร ไม่รู้จักคำสั่ง pip install package_name นั่นคือ เป็นคำสั่งในการติดตั้ง package หรือไลบารีเพื่อให้โปรเจคที่เรากำลังเขียนโค้ดอยู่นั้น สามารถเรียกใช้คำสั่งจากไลบารีหรือ package นั้นได้

ขั้นตอนการสร้าง package บน PyPi

1) ก่อนอื่นเราต้องรู้ก่อนว่าคำสั่ง pip ไปเรียกดาวน์โหลดมาจากเว็บไซต์ไหน คำตอบก็คือ https://pypi.org/ ถ้าเรายังไม่มีบัญชีการใช้งานให้เราสมัครไว้เลยครับ และเก็บ username กับ password ไว้ใช้อัพโหลดหรืออัพเดตเวอร์ชัน package ที่เราสร้างครับ

2) จากนั้นเราสร้างโปรเจคที่มีโครงสร้าง package ตามในรูปด้านล่าง โดยผมมีโฟลเดอร์ root ใช้ชื่อว่า ninenoxpackage ส่วน package ข้างในจะใช้ noxconstants โดย package ข้างในจะเป็นโค้ดที่เก็บส่วนเรียกการใช้งานต่างๆ ในตัวอย่างนี้ผมใช้คำนวณหาพื้นที่ area ซึ่งฟังก์ชันการใช้งานจะอยู่ใน findarea.py ส่วนไฟล์ setup.py จะใช้เพื่อติดตั้งจำเป็นต้องมีทุกครั้ง

รายละเอียดในไฟล์ setup.py จะเป็นข้อมูลที่ใช้ในการติดตั้ง โดยรายละเอียดมีดังนี้

name : ชื่อไลบารีหรือ package ในที่นี้ตั้งตามโฟลเดอร์ root นั่นคือ ninenoxpackage
version : เวอร์ชันของไลบารีหรือ package ต้องเปลี่ยนทุกครั้งที่จะอัพเดต
description : คำอธิบายแบบสั้นๆถึงไลบารีหรือ package ของเรา
url : ลิ้งค์ไปยัง github repo ที่เก็บ source code
author : ผู้สร้างไลบารีหรือ package
author_email : อีเมลของคนสร้างไลบารีหรือ package
packages : ใช้ find_packages() คือ เรียกใช้งานทุก package ที่อยู่ภายใน
install_requires : dependency ที่เราใช้(กรณีนี้ใช้แค่ numpy)

3) จากนั้นติดตั้ง package twine และ wheel ซึ่งจะใช้ในการ build file และอัพโหลดไปยัง pypi โดยใช้คำสั่งติดตั้งดังนี้

4) คำสั่ง build ไฟล์ที่จะใช้อัพโหลด โดยจะได้เป็นไฟล์ whl หรือ tar.gz ออกมาไว้ใช้อัพโหลดในขั้นตอนต่อไป

5) คำสั่งอัพโหลด หลังจาก enter จะต้องกรอก username และ password ที่สมัครกับเว็บ pypi

6) กรณีอัพเดต เราก็จะเปลี่ยนเลข version ในไฟล์ setup.py แล้วใช้คำสั่งข้อ 4 และข้อ 5 ทำแบบนี้ทุกครั้งที่อัพเดต

ง่ายๆแค่นี้เราก็มี package เป็นของตัวเองเพื่อให้คนอื่นติดตั้งไว้ใช้งานแล้วครับ

2