4 个版本
1.0.0-alpha.3 | 2023 年 7 月 12 日 |
---|---|
1.0.0-alpha.0 | 2023 年 7 月 10 日 |
在 编程语言 中排名 408
51KB
1.5K SLoC
FindPython
用于在您的系统上查找 Python 版本的实用工具。
描述
此库是 pythonfinder 项目的重写,由 @techalchemy 提供。它在简化整个代码结构的同时,保留了大部分原始功能。
安装
FindPython 可以用于 Python 和 Rust 项目。
在 Python 中安装 FindPython
pip install findpython
在 Rust 中安装 FindPython
cargo install findpyhton
或在一个 Rust 项目中使用 FindPython 库
cargo add findpython
Python 使用方法
>>> import findpython
>>> findpython.find(3, 9) # Find by major and minor version
<PythonVersion executable=/opt/homebrew/bin/python3.9, version=3.9.17, arch=64bit>
>>> findpython.find("3.9") # Find by version string
<PythonVersion executable=/opt/homebrew/bin/python3.9, version=3.9.17, arch=64bit>
>>> findpython.find("3.9-32") # Find by version string and architecture
<PythonVersion executable=C:/Python/3.9-32/python.exe, version=3.9.10, arch=32bit>
>>> findpython.find(name="python3") # Find by executable name
<PythonVersion executable=/Users/fming/wkspace/github/findpython/.venv/bin/python3, version=3.11.4, arch=64bit>
>>> findpython.find("python3") # Find by executable name without keyword argument, same as above
<PythonVersion executable=/Users/fming/wkspace/github/findpython/.venv/bin/python3, version=3.11.4, arch=64bit>
>>> findpython.find_all(major=3, minor=9) # Same arguments as `find()`, but return all matches
[<PythonVersion executable=/opt/homebrew/bin/python3.9, version=3.9.17, arch=64bit>,
<PythonVersion executable=/usr/bin/python3, version=3.9.6, arch=64bit>]
Rust 使用方法
use findpython::{Finder, MatchOptions};
fn main() {
let finder = Finder::default();
// Find by major and minor version
let py = finder.find(MatchOptions::default().major(3).minor(10)).unwrap();
println!("{:?}", py);
// Find all matches
let all_pythons = finder.find_all();
println!("{:?}", all_pythons);
}
CLI 使用方法
此外,FindPython 还提供了一个 CLI 接口用于查找 Python 版本
Find python executables on your system
Usage: findpython [OPTIONS] [VERSION_SPEC]
Arguments:
[VERSION_SPEC] The version spec to find, e.g. 3|3.8|python3
Options:
-a, --all Return all matching Python versions
--resolve-symlinks Resolve symlinks and remove duplicate results
--no-same-file Remove duplicate results that are the same binary
--no-same-python Remove duplicate results that wrap the same Python interpreter
--providers <PROVIDERS> Select provider names(comma-separated) to use
-o, --output <OUTPUT> The output format [default: default] [possible values: default, json, path]
-h, --help Print help
-V, --version Print version
集成
FindPython 从以下位置查找 Python
PATH
环境变量- pyenv
- asdf
- winreg(仅限 Windows)
- Rye 项目管理器,由 python-build-standalone 支持
许可证
FindPython 在 MIT 许可证下发布。
依赖项
~7–22MB
~266K SLoC