Encontre os pacotes desatualizados instalados pela ferramenta PIP e atualize-os. Inspirado no depu (go). No entanto, pkgu suporta atualizações completas e parciais, que são mais convenientes e flexíveis. Ele também suporta plataforma cruzada (Windows, Linux, MacOS). ? Para recuperar os dados mais rapidamente após a primeira vez (ou não precisam executar o comando novamente), eu uso o sqlite como db de cache para armazenar os dados e pode ler rapidamente no banco de dados e apresentá-los ao console.
No entanto, apenas o Python3.10 e acima estão disponíveis agora.
Primeiro, você precisa instalar dependências.
Se você não possui ferramenta poetry , instale -a primeiro. ?: Instalação de poesia, caso contrário, instale pacotes diretamente.
poetry install E então, execute o script pkgu.py
python3 pkgu.pypip3 install pkgu Após a conclusão da instalação, o arquivo executável pkgu será gravado no diretório Python Bin e você poderá inserir o comando pkgu -h no seu terminal para aprender a usá -lo.
# 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
- Nenhum pacotes precisa ser atualizado.
- Atualize alguns pacotes expirados.
- Atualize o PKG de forma síncrona
- Atualize o PKG de forma assíncrona
Podemos ver que o método assíncrono é mais rápido que o método de sincronização de cerca de 9 segundos (apenas nesta situação de teste). Portanto, agora pode suportar atualizar as bibliotecas Python de forma assíncrona. ?
- Suporte para pacotes de atualização selecionáveis
- Suporte para usar o resultado do cache do arquivo sqlite db.
Isso melhora a expiração de que listamos os pacotes desatualizados quando eles são enormes para coletar e também há uma bandeira da CLI --no-cache para controlar se deve usar o cache.
- !!! Novo - Suporte para desinstalar o pacote com suas dependências juntas.