18 พฤศจิกายน 2562

Published 11/18/2562 by with 0 comment

จำกัดรุ่น Python ที่สามารถติดตั้งโมดูลได้ง่าย ๆ ใน setup.py

สวัสดีผู้อ่านทุกท่านครับ ช่วงนี้ผมจะขอเล่าประสบการณ์ในการเขียน Python ที่ได้จากการทำโมดูล PyThaiNLP ในรอบหลายปีที่ผ่านมานะครับ คงรู้กันว่า ณ ตอนนี้ PyThaiNLP ไม่รองรับ Python 2.7 และไม่รองรับ Python ต่ำว่า 3.6 แล้ว ถ้าหากคุณใช้ Python รุ่นเหล่านี้ที่ต่ำกว่าที่กำหนดลง PyThaiNLP 2.X เป็นต้นมา คุณจะพบกับ

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

ว่าแต่เราทำอย่างไรถึงจำกัดรุ่น Python ที่สามารถลงโมดูลได้ ?

คำตอบง่าย ๆ ใน setup.py มีตัวแปรหนึ่งที่ชื่อ python_requires ใน setup() ไว้กำหนดรุ่นของ Python ที่โมดูลต้องการ

เรากำหนด python_requires=">=3.6" คือ โมดูลนี้ต้องการตั้งแต่ Python 3.6 ขึ้นไป จะได้โค้ดประมาณนี้
setup(
  name="pythainlp",
  version="2.1.dev8",
  description="Thai Natural Language Processing library",
  long_description=readme,
  long_description_content_type="text/markdown",
  author="PyThaiNLP",
  author_email="[email protected]",
  url="https://github.com/PyThaiNLP/pythainlp",
  packages=find_packages(),
  test_suite="tests",
  python_requires=">=3.6"

 เพียงเท่านี้เราก็จำกัดรุ่นของ Python ที่สามารถลงโมดูลได้ง่าย ๆ

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

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

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