Encuentre los paquetes anticuados instalados por la herramienta PIP y actualice. Inspirado por Depu (Go). Sin embargo, pkgu admite actualizaciones completas y parciales, lo cual es más conveniente y flexible. También es compatible con la plataforma cruzada (Windows, Linux, MacOS). ? Para recuperar los datos más rápido después de la primera vez (o no tener que ejecutar el comando nuevamente), uso SQLite como DB de caché para almacenar los datos y puedo leerlo rápidamente de DB y presentarlo a la consola.
Sin embargo, solo Python3.10 y más están disponibles ahora.
Primero, debe instalar dependencias.
Si no tiene herramienta poetry , instálela primero. ?: Instalación de poesía, de lo contrario, instale paquetes directamente.
poetry install Y luego, ejecute script pkgu.py
python3 pkgu.pypip3 install pkgu Después de completar la instalación, el archivo ejecutable pkgu se escribirá en el directorio de Python Bin y puede ingresar el comando pkgu -h en su terminal para aprender cómo usarlo.
# 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
- No se deben actualizar paquetes.
- Actualice algunos paquetes caducados.
- Actualizar el PKG sincrónicamente
- Actualizar el PKG asíncronamente
Podemos ver que el método Async es más rápido que el método de sincronización de aproximadamente 9 segundos (solo en esta situación de prueba). Por lo tanto, ahora puede admitir actualizar las bibliotecas de Python de manera asincrónica. ?
- Soporte para paquetes de actualización seleccionables
- Soporte para usar el resultado de la caché del archivo SQLite DB.
Esto mejora la caducidad de que enumeramos los paquetes anticuados cuando son enormes para recolectar, y luego también hay una bandera CLI --no-cache para controlar si debe usar caché.
- !!! Nuevo - Soporte para desinstalar el paquete con sus dependencias juntas.