2 มีนาคม 2563

Published 3/02/2563 by with 0 comment

สร้างแพ็คเกจ deb จากแพ็คเกจ Python ง่าย ๆ ด้วย Python

วันนี้เราจะมาสร้างแพ็คเกจ deb จากแพ็คเกจ Python ง่าย ๆ ด้วย Python กัน



แพ็คเกจ deb คืออะไร?

แพ็คเกจ deb เป็นไฟล์แพ็คเกจสำหรับติดตั้งโมดูลในฝั่ง Debian กับ Ubuntu ใน Linux

ในการสร้างแพ็คเกจ deb จากแพ็คเกจ Python จะต้องทำบนระบบปฎิบัติการสาย Debain หรือ Ubuntu เท่านั้น และจะต้องลงโมดูล wheel2deb ช่วยในการแปลงแพ็คเกจ whelel ของ Python ไปเป็น deb

ให้ทำการติดตั้งแพ็คเกจสำหรับสร้างแพ็คเกจ deb ก่อนใช้งาน ด้วยคำสั่ง
$ sudo apt install -y python3-apt apt-file dpkg-dev fakeroot build-essential devscripts debhelper

wheel2deb เป็นเครื่องมือแปลงแพ็คเกจ whelel ของ Python ไปเป็นแพ็คเกจ deb
ติดตั้งได้ด้วยคำสั่ง
$ pip install wheel2deb

จากนั้นให้โหลดโมดูลที่เป็นไฟล์ .whl หรือ build โมดูลให้เป็น wheel ก่อน

วิธีการ Build โมดูล Python ให้เป็น Wheel

ให้เปิดเทอร์มินัลหรือ cmd ในโฟลเดอร์เดียวกับไฟล์ติดตั้งโมดูลที่มี setup.py แล้วใช้คำสั่ง
python setup.py bdist_wheel
จะได้โฟลเดอร์ dist ซึ่งภายในมีไฟล์ .whl ให้พร้อมสำหรับแปลงให้เป็นไฟล์ deb

วิธีการโหลดโมดูลที่เป็นไฟล์ .whl จาก PIP

ให้ใช้คำสั่ง
pip wheel โมดูล

วิธีการแพ็คเกจ deb จากแพ็คเกจ Python


ให้นำทุกไฟล์มารวมไว้ในโฟลเดอร์เดียวกัน โดยจะต้องโหลด wheel หรือ Build ทุกโมดูลที่ใช้ในแพ็คเกจ Python ให้ครบทุกโมดูลในโฟลเดอร์เดียวกัน แล้วใช้คำสั่ง
wheel2deb --map attrs=attr
จากนั้นจะได้ไฟล์ debian source packages ในโฟลเดอร์ output จากนั้นใช้คำสั่ง build ให้เป็นแพ็คเกจ deb ด้วยคำสั่ง
wheel2deb build
ภายในโฟลเดอร์ output จะประกอบไปด้วยไฟล์แพ็คเกจ deb ที่จากแพ็คเกจ Python ให้นำไปใช้งานกัน

ตัวอย่างการสร้างแพ็คเกจ deb จากแพ็คเกจ Python

ขอยกตัวอย่างการ build แพ็คเกจ PyThaiNLP ให้เป็นแพ็คเกจ deb สามารถทำได้ง่าย ๆ โดยดูตาม Colab ดังนี้ได้เลย https://colab.research.google.com/drive/1MiJ62y_hwoe9CxnCad1PWZzxwtknWFqr

อ่านรายละเอียด wheel2deb ได้ที่ https://pypi.org/project/wheel2deb/

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)