การแนะนำ
วันนี้ฉันอยากจะแสดงให้คุณเห็นว่าคุณสามารถเปลี่ยนสคริปต์หลามจากสิ่งนี้ได้อย่างไร:
$ python3 coolscript.py
สำหรับสิ่งนี้:
$ coolscript
มันเสร็จสิ้นอย่างไร
วิธีที่คุณสามารถเปลี่ยนสคริปต์ python ให้เป็นคำสั่ง CLI เต็มรูปแบบได้คือการใช้ประโยชน์จาก setup.py ฉันจะสาธิตสิ่งนี้โดยการสร้างโปรแกรมที่จะดำเนินการเข้ารหัสซีซาร์กับข้อความใดๆ ที่คุณระบุ
โครงสร้างโครงการ
ก่อนอื่นเราจะต้องสร้างไดเร็กทอรีโครงการของเรา:
$ mkdir caesar
$ cd caesar
$ mkdir caesar
$ touch setup.py
$ touch caesar/__init__.py
$ touch caesar/caesar.py
และสิ่งที่เราควรจะเหลือไว้คือโครงสร้างไดเร็กทอรีที่มีลักษณะดังนี้:
caesar/
|-- caesar
| |-- __init__.py
| `-- caesar.py
`-- setup.py
สคริปต์
เมื่อคุณตั้งค่าไดเรกทอรีแล้ว เราจะสร้างสคริปต์ใน caesar.py วัตถุประสงค์ของบทช่วยสอนนี้ไม่ใช่เพื่อสอนวิธีสร้างสคริปต์ให้คุณ แต่ฉันจะเพิ่มไว้ด้านล่างหากคุณสนใจ
นอกจากนี้ เรายังต้องทำการเปลี่ยนแปลงหนึ่งครั้งในไฟล์ __init__.py เพื่อให้สามารถเข้าถึงสคริปต์ของเราภายในไดเร็กทอรีได้
ไฟล์ติดตั้ง
ตอนนี้เราได้เขียนสคริปต์ของเราเสร็จแล้ว ก็ถึงเวลากรอก setup.py ของเรา
มาแยกไฟล์นี้ทีละบรรทัดกัน อันดับแรก เรากำลังนำเข้า setuptools ซึ่งเป็นไลบรารีมาตรฐานที่ Python ใช้สำหรับการสร้างสคริปต์ ต่อไปเราจะเรียกใช้ฟังก์ชัน setup ของ setuptools และส่งผ่านพารามิเตอร์ที่ต้องการ พารามิเตอร์ที่เราต้องการเน้นมากที่สุดคือ entry_points
- ชื่อ:ชื่อของสคริปต์
- เวอร์ชัน:หมายเลขเวอร์ชันของสคริปต์ของคุณ
- ผู้เขียน:ชื่อของคุณ
- author_email:อีเมลของคุณ
- คำอธิบาย:คำอธิบายสั้นๆ ว่าสคริปต์ของคุณทำอะไร
- แพ็คเกจ:แพ็คเกจที่จำเป็นสำหรับสคริปต์ของคุณ
- entry_points:โดยพื้นฐานแล้ววิธีการโต้ตอบกับสคริปต์ของคุณ ในตัวอย่าง เรากำลังระบุ console_scripts ซึ่งเป็นจุดเริ่มต้นที่ได้รับความนิยมมากที่สุด เนื่องจากช่วยให้เราระบุคำสั่ง cli ให้กับสคริปต์ของเราได้
- ตัวแยกประเภท:ข้อกำหนดสำหรับผู้ใช้เพื่อทำความเข้าใจว่าภาษาและระบบปฏิบัติการใดที่จำเป็นในการเรียกใช้สคริปต์ของคุณ
จุดเข้า
ในไฟล์ setup.py ข้างต้น เราได้ระบุสิ่งต่อไปนี้สำหรับจุดเริ่มต้นของเรา
entry_points={
'console_scripts': [
'caesar = caesar.caesar:main'
]
},
ที่นี่ เรากำลังกำหนดค่าคำสั่ง caesar ให้เกี่ยวข้องกับฟังก์ชันหลักของเราในไฟล์สคริปต์ caesar.py ของเรา ตอนนี้เมื่อเรารันไฟล์ setup.py มันควรสร้างและติดตั้งสคริปต์ของเรา และอนุญาตให้เราเข้าถึงได้โดยใช้คำสั่ง caesar
$ sudo python3 setup.py install
ตอนนี้สคริปต์ของเราได้ถูกสร้างขึ้นแล้ว มาลองใช้มันบน CLI กัน
$ caesar "Test Message"
Whvw Phvvdjh
$ caesar "Whvw Phvvdjh" --decrypt
Test Message
และมันก็ได้ผล! ตอนนี้เราสามารถใช้สคริปต์ของเราเป็นคำสั่ง CLI ได้
บทสรุป
การสร้างไฟล์ setup.py เป็นขั้นตอนสำคัญสำหรับโปรเจ็กต์ Python เนื่องจากไฟล์นี้จะช่วยให้คุณสามารถให้ข้อมูลเกี่ยวกับไฟล์แก่ผู้ใช้ และช่วยให้คุณสร้างฟังก์ชันพิเศษให้กับสคริปต์ เช่น การเพิ่มไฟล์เป็น CLI สั่งการ.
ขอบคุณที่อ่าน!
— คริส
เผยแพร่ครั้งแรกที่ ediblesec.com เมื่อวันที่ 28 พฤศจิกายน 2018