自动化安装独立Python CLI
项目描述
自动化安装独立Python CLI
概述
pickley 允许安装和保持独立pip-installable python CLIs,如 tox、hatch 等。
它与 pipx 类似,主要区别是安装的 CLIs 在使用时会自动升级。
它无需任何配置即可直接使用
pickley 是可移植的,它将从其运行的同一文件夹中运行和安装其他 CLI(例如,将其放入 ~/.local/bin 或 /usr/local/bin)
所有具有 console_scripts 入口点的 pypi 软件包都可以立即安装
默认将安装最新的非预发布版本pypi(可以通过显式pin pickley install foo==1.0 或通过配置来固定版本)
通过 一些配置,可以实现以下功能
可以指定要安装的版本、要使用的Python版本等,针对每个pypi包
可以定义 bundle-s:一次安装多个pypi包的名称,例如:可以定义 bundle:dev 来安装 tox pipenv pre-commit
可以使用自定义的pypi服务器索引(pip的默认设置将被尊重)
可以使用 符号链接 交付方式,这将使用符号链接而不是自升级包装器
示例
一旦安装了 pickley,就可以获取其他Python CLIs并将它们用作独立程序,例如
# One-liner to grab pickley, and drop it in ~/.local/bin $ curl -fsSL https://raw.githubusercontent.com/codrsquad/pickley/main/src/pickley/bstrap.py | /usr/bin/python3 - # Double-check you do have ~/.local/bin in your PATH $ which -a pickley ~/.local/bin/pickley $ pickley base ~/.local/bin $ pickley install tox hatch Installed tox v4.5.2 in 6 seconds 501 ms Installed hatch v1.7.0 in 15 seconds $ which tox ~/.local/bin/tox $ tox --version tox version 3.21.4 $ pickley list | Package | Version | -------------|---------- | tox | 4.5.2 | | hatch | 1.7.0 |
配置
请参阅 config
功能
任何具有 console_scripts 入口的 pypi 包都可以安装并保持更新
旨在零配置工作(但配置是可能的)
完全便携,安装将在 pickley 所在的同一文件夹中执行,将其放入 ~/.local/bin,然后使用它安装的所有内容也将在那里
使用来自pypi的最新非预发布版本
命令
check:如果指定的包已更新,则退出代码为0
install:安装指定的包
list:通过 pickley 列出已安装的包,在它所在的文件夹中(不是全局的)
package:可用于简化内部使用的Python项目的打包
安装
在 ~/.local/bin 中安装最新版本
方便的一行bash命令
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/codrsquad/pickley/main/get-pickley)"
方便的一行python命令(请参阅 --help,脚本接受一些选项)
$ curl -fsSL https://raw.githubusercontent.com/codrsquad/pickley/main/src/pickley/bstrap.py | /usr/bin/python3 - --help
从源安装
运行(您需要 tox)
git clone https://github.com/codrsquad/pickley.git cd pickley python3 -mvenv .venv .venv/bin/pip install -r requirements.txt -r tests/requirements.txt -e . .venv/bin/pickley --help
项目详情
下载文件
下载您平台的文件。如果您不确定该选择哪个,请了解更多关于 安装包 的信息。
源代码分发
构建分发
pickley-4.3.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 00b29b7a918a204ff72a97eeb1b805ca53da6704b11bf484ce56453fdeab1269 |
|
MD5 | 680fd591a5c373af6090b0fed4db57b0 |
|
BLAKE2b-256 | 2fbeebacf0e1b009aadd4ca0f9e6c15baa8d48faa1fbc6412b8b16c24fcd128f |
pickley-4.3.3-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a95d1a1120bbff06f6126c80d03dcf1d9ee5c918c4375588a8a2ff73cfba6fb1 |
|
MD5 | 0e3496fcadf8555631ffd1f6251930aa |
|
BLAKE2b-256 | 3485f3babf9357e8756abc625951d690ce611a85eb27f3231e56a2a07beaec1a |