au 是一个受 au 和 conda 启发的快速Python版本和包管理工具,提供了安装Python版本、管理虚拟环境和安装包的功能。
# 从源码构建
git clone https://github.com/ForesAi/au.git
cd au
go build -o au main.go
# 或者使用 go install
go install github.com/ForesAi/au@latest
# 安装Python版本
au python install 3.11.0
au python install 3.12.0
# 列出已安装的Python版本
au python list
# 设置默认Python版本
au python use 3.11.0
# 创建虚拟环境
au venv create myproject
au venv create myproject --python 3.12.0
# 列出虚拟环境
au venv list
# 激活虚拟环境
au venv activate myproject
# 删除虚拟环境
au venv remove myproject
# 安装包
au pip install requests
au pip install numpy pandas
# 从requirements文件安装
au pip install -r requirements.txt
# 列出已安装的包
au pip list
# 卸载包
au pip uninstall requests
# 导出依赖
au pip freeze > requirements.txt
au 使用 ~/.au.yaml 配置文件。你可以自定义以下设置:
default_python: "3.11.0"
python:
install_dir: "~/.au/python"
venv:
dir: "~/.au/venv"
pip:
index_url: "https://pypi.org/simple/"
extra_indexes: []
timeout: 30
retries: 3
cache:
dir: "~/.au/cache"
max_size: "1GB"
ttl: "7d"
Python版本管理命令。
子命令:
install <version> - 安装指定的Python版本list - 列出已安装的Python版本use <version> - 设置默认Python版本虚拟环境管理命令。
子命令:
create <name> - 创建新的虚拟环境list - 列出所有虚拟环境remove <name> - 删除虚拟环境activate <name> - 显示激活虚拟环境的命令包管理命令。
子命令:
install <packages...> - 安装Python包list - 列出已安装的包uninstall <packages...> - 卸载Python包freeze - 以requirements格式输出已安装的包选项:
-r, --requirement <file> - 从requirements文件安装--editable - 以可编辑模式安装包--index-url <url> - 指定包索引URL--upgrade - 升级指定的包go build -o au main.go
go test ./...
欢迎提交 Issue 和 Pull Request!
MIT License
| 功能特性 | au | au | conda | pip |
|---|---|---|---|---|
| Python版本管理 | ✅ | ❌ | ❌ | ❌ |
| 虚拟环境管理 | ✅ | ✅ | ✅ | ❌ |
| 包安装速度 | 🚀 快速 | 🚀 极快 | 🐢 较慢 | 🐢 较慢 |
| 依赖解析 | 🔍 智能解析 | 🔍 智能解析 | 🔍 智能解析 | ❌ 基础 |
| 锁文件支持 | ✅ au.lock | ✅ au.lock | ❌ | ❌ |
| 项目管理 | ✅ pyproject.toml | ✅ pyproject.toml | ❌ | ❌ |
| 多环境支持 | ✅ dev/prod/test | ✅ dev/prod | ✅ environments | ❌ |
| 缓存机制 | ✅ 内容寻址+LRU | ✅ 内容寻址 | ✅ 索引缓存 | ❌ |
| 并发安装 | ✅ 支持 | ✅ 支持 | ❌ | ❌ |
| 配置文件 | ✅ au.yaml | ✅ pyproject.toml | ✅ .condarc | ❌ |
| 跨平台支持 | ✅ Linux/Windows/macOS | ✅ Linux/Windows/macOS | ✅ Linux/Windows/macOS | ✅ 全平台 |
| Docker支持 | ✅ 官方镜像 | ✅ 官方镜像 | ✅ 官方镜像 | ❌ |
| GitHub Actions | ✅ 自动构建 | ✅ 自动构建 | ✅ 自动构建 | ❌ |
| 二进制分发 | ✅ 多架构 | ✅ 多架构 | ✅ 多架构 | ❌ |
| 操作 | au | au | conda | pip |
|---|---|---|---|---|
| 创建虚拟环境 | ~2s | ~1s | ~5s | ~2s |
| 安装requests包 | ~3s | ~2s | ~8s | ~5s |
| 安装10个包 | ~15s | ~10s | ~45s | ~30s |
| 依赖解析(50包) | ~5s | ~3s | ~20s | N/A |
| 缓存命中率 | 85% | 90% | 70% | N/A |
| 场景 | au | au | conda | pip |
|---|---|---|---|---|
| Web开发 | ✅ 推荐 | ✅ 推荐 | ⚠️ 可用 | ✅ 基础 |
| 数据科学 | ✅ 良好 | ⚠️ 有限 | ✅ 最佳 | ⚠️ 有限 |
| 机器学习 | ✅ 良好 | ⚠️ 有限 | ✅ 最佳 | ⚠️ 有限 |
| CI/CD | ✅ 快速 | ✅ 快速 | ⚠️ 较慢 | ⚠️ 较慢 |
| 企业环境 | ✅ 灵活 | ✅ 简单 | ✅ 成熟 | ⚠️ 基础 |
从 GitHub Releases 下载对应平台的二进制文件:
# Linux (x86-64)
wget https://github.com/ForesAi/au/releases/latest/download/au-linux-amd64.tar.gz
tar -xzf au-linux-amd64.tar.gz
sudo mv au /usr/local/bin/
# macOS (Apple Silicon)
wget https://github.com/ForesAi/au/releases/latest/download/au-darwin-arm64.tar.gz
tar -xzf au-darwin-arm64.tar.gz
sudo mv au /usr/local/bin/
# Windows (x86-64)
wget https://github.com/ForesAi/au/releases/latest/download/au-windows-amd64.zip
unzip au-windows-amd64.zip
# 将 au.exe 添加到 PATH
# 使用 go install
go install github.com/ForesAi/au@latest
# 使用 Homebrew (macOS)
brew install ForesAi/au/au
# 使用 Docker
docker pull ForesAi/au-tool/au
docker run --rm -it ForesAi/au-tool/au --help
git clone https://github.com/ForesAi/au.git
cd au
go build -o au main.go