Найдите выездные пакеты, установленные инструментом PIP, и обновите их. Вдохновлен DePu (Go). Тем не менее, pkgu поддерживает полные и частичные обновления, что является более удобным и гибким. Он также поддерживает кроссплатформенную (Windows, Linux, MacOS). ? Чтобы получить данные более быстро, после первого времени (или не нужно снова выполнять команду), я использую SQLite в качестве Cache DB для хранения данных и могу быстро прочитать их из DB и представлять их на консоли.
Однако только Python3.10 и выше доступны сейчас.
Во -первых, вам нужно установить зависимости.
Если у вас нет poetry инструмента, сначала установите его. ?: Поэзия установка, в противном случае, установите пакеты напрямую.
poetry install А потом запустите сценарий pkgu.py
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 асинхронно
Мы видим, что асинхронный метод быстрее, чем метод синхронизации около 9 секунд (только в этой тестовой ситуации). Таким образом, теперь он может поддержать, чтобы обновлять библиотеки Python асинхронно. ?
- Поддержка выбранных пакетов обновлений
- Поддержка для использования кэша результата из файла SQLite DB.
Это улучшает исход, как мы перечисляем пакеты с открытыми устаревами, когда они огромны для сбора, а затем также есть флаг CLI --no-cache чтобы контролировать, следует ли использовать кэш.
- !!! Новая - поддержка удаления пакета вместе с его зависимостями.