ค้นหาแพ็คเกจที่ล้าสมัยที่ติดตั้งโดยเครื่องมือ PIP และอัปเดต แรงบันดาลใจจาก Depu (ไป) อย่างไรก็ตาม pkgu รองรับการอัปเดตเต็มรูปแบบและบางส่วนซึ่งสะดวกและยืดหยุ่นมากขึ้น นอกจากนี้ยังรองรับ Cross-Platform (Windows, Linux, MacOS) - ในการดึงข้อมูลอย่างรวดเร็วมากขึ้นหลังจากครั้งแรก (หรือไม่ต้องดำเนินการคำสั่งอีกครั้ง) ฉันใช้ SQLite เป็นแคช DB เพื่อจัดเก็บข้อมูลและสามารถอ่านได้อย่างรวดเร็วจาก DB และนำเสนอลงในคอนโซล
อย่างไรก็ตามตอนนี้มีเพียง Python3.10 ขึ้นไป
ก่อนอื่นคุณต้องติดตั้งการพึ่งพา
หากคุณไม่มีเครื่องมือ poetry โปรดติดตั้งก่อน ?: การติดตั้งบทกวีมิฉะนั้นติดตั้งแพ็คเกจโดยตรง
poetry install จากนั้นเรียกใช้ pkgu.py script
python3 pkgu.pypip3 install pkgu หลังจากการติดตั้งเสร็จสมบูรณ์ไฟล์ปฏิบัติการ pkgu จะถูกเขียนลงในไดเรกทอรี Python Bin และคุณสามารถป้อนคำสั่ง pkgu -h บนเทอร์มินัลของคุณเพื่อเรียนรู้วิธีการใช้งาน
# Usage
usage: pkgu [-h] [-v] {update,remove} ...
Upgrade and uninstall python package.
options:
-h, --help show this help message and exit
-v, --version Display pkgu version and information
Available commands:
{update,remove} Available commands
update Update python package.
remove remove python package with its dependencies.
# ------ update ------
options:
-h, --help show this help message and exit
-a, --async_upgrade Update the library asynchronously. Default: False
-d CACHE_FOLDER, --cache_folder CACHE_FOLDER
The cache.db file. Default: ~ /.cache/cache.db
-e EXPIRE_TIME, --expire_time EXPIRE_TIME
The expiration time. Default: 43200
--no-cache Whether to use db cache. Default: False
# ------ remove ------
options:
-h, --help show this help message and exit
-l, --list list unused dependencies, but don ' t uninstall them.
-L, --leaves list leaves (packages which are not used by any others).
-y, --yes don ' t ask for confirmation of uninstall deletions.
-f, --freeze list leaves (packages which are not used by any others) in requirements.txt format
- ไม่จำเป็นต้องอัพเกรดแพ็คเกจ
- อัพเกรดแพ็คเกจที่หมดอายุ
- อัปเดต PKG แบบซิงโครนัส
- อัปเดต PKG แบบอะซิงโครนัส
เราจะเห็นได้ว่าวิธี Async นั้นเร็วกว่าวิธีการซิงค์ประมาณ 9 วินาที (เฉพาะในสถานการณ์การทดสอบนี้) ดังนั้นตอนนี้สามารถรองรับการอัปเดตไลบรารี Python แบบอะซิงโครนัส -
- รองรับแพ็คเกจการอัปเดตที่เลือกได้
- สนับสนุนการใช้แคชผลลัพธ์จากไฟล์ SQLite DB
สิ่งนี้จะช่วยปรับปรุงการหมดอายุว่าวิธีที่เราแสดงรายการแพ็คเกจที่ล้าสมัยเมื่อพวกเขามีขนาดใหญ่ในการรวบรวมและจากนั้นก็มีธง CLI- --no-cache เพื่อควบคุมว่าควรใช้แคชหรือไม่
- !!! ใหม่ - สนับสนุนการถอนการติดตั้งแพ็คเกจด้วยการพึ่งพาร่วมกัน