# in1 **Repository Path**: INDK/in1 ## Basic Information - **Project Name**: in1 - **Description**: 一键配置uv和python - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-17 - **Last Updated**: 2026-09-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # uv 自动配置工具 一个 Windows 图形化工具,用来自动完成 **uv / pip / Python** 的目录规划、环境变量写入、换源与安装。 界面基于 `customtkinter`,打包使用 `PyInstaller`。 --- ## 一、它能做什么 | 能力 | 说明 | | --- | --- | | 分别指定位置 | uv 安装位置、uv 包缓存、uv 包存储、pip 包缓存、pip 包存储、系统 Python 安装位置,各自独立设置 | | 极简模式 | 只给一个根目录,所有内容自动在此目录下规划(`uv/`、`pip/` 子目录) | | 自动换源 | uv 与 pip 统一使用阿里云 PyPI 源 `https://mirrors.aliyun.com/pypi/simple/` | | 国内镜像下载 | uv 本体走 GitHub 加速镜像;`uv python install` 走 python-build-standalone 国内镜像 | | 一键完成 | 写入配置 → 安装 uv → 安装 Python → 输出校验结果 | | 可还原 | 记录并支持一键删除本工具写入的环境变量与 PATH 条目 | --- ## 二、快速开始 ```powershell # 1. 安装依赖 pip install -r requirements.txt # 2. 运行 python main.py ``` ### 使用流程 1. **极简模式**:选择一个根目录(如 `D:\devtools\uv-root`),界面会实时预览所有生成路径; **详细配置**:逐项填写 6 个位置。 2. 确认底部的镜像设置(默认已指向阿里云,无需修改)。 3. 点击 **应用配置** —— 创建目录、写入环境变量与 `uv.toml` / `pip.ini`。 4. 点击 **一键完成** —— 自动下载安装 uv 与 Python,并打印校验信息。 5. **重启终端**(`PATH` 变更对已打开的终端不生效)。 验证: ```powershell uv --version uv cache dir uv python dir pip config list ``` --- ## 三、写入了哪些内容 ### 用户环境变量(`HKCU\Environment`) | 变量 | 含义 | | --- | --- | | `UV_INSTALL_DIR` | uv 自身安装位置(uv.exe 所在目录) | | `UV_CACHE_DIR` | uv 包缓存位置 | | `UV_PYTHON_INSTALL_DIR` | uv 包存储位置:托管 Python 解释器 | | `UV_TOOL_DIR` / `UV_TOOL_BIN_DIR` | uv tool 安装目录及可执行文件目录 | | `UV_PYTHON_CACHE_DIR` / `UV_PYTHON_BIN_DIR` | Python 归档缓存 / 解释器软链目录 | | `UV_DEFAULT_INDEX` | uv 的 PyPI 源(阿里云) | | `UV_PYTHON_INSTALL_MIRROR` | CPython 下载镜像 | | `UV_INSTALLER_GITHUB_BASE_URL` | uv 本体下载镜像 | | `PIP_CACHE_DIR` | pip 包缓存位置 | | `PIP_TARGET` | pip 包存储位置(可关闭) | | `PIP_INDEX_URL` / `PIP_TRUSTED_HOST` | pip 的源与信任主机 | `PATH` 会追加:`uv` 目录、`uv tool bin`、`uv python bin`、系统 Python 及其 `Scripts`。 **只会增删本工具管理的条目**,不会破坏用户已有配置。 ### 配置文件 * `%APPDATA%\uv\uv.toml` * `%APPDATA%\pip\pip.ini` ### 状态文件 * `%APPDATA%\uv-auto-config\state.json` —— 记录改动前的原值,供「还原配置」使用。 --- ## 四、镜像说明 ### 为什么需要两个下载镜像 uv 使用两个不同语义的变量: * `UV_PYTHON_INSTALL_MIRROR`:替换 `https://github.com/astral-sh/python-build-standalone/releases/download`, 最终地址为 `该值 + /{tag}/{文件名}`。默认使用 **南京大学镜像**。 * `UV_INSTALLER_GITHUB_BASE_URL`:替换 `https://github.com`, 最终地址为 `该值 + /astral-sh/uv/releases/...`。默认使用 **ghfast.top 代理**。 界面提供了下拉预设,也可以直接填自定义地址(支持 `file://` 本地镜像目录)。 ### 可选镜像 | 用途 | 预设 | | --- | --- | | Python | 南京大学镜像(推荐)、ghfast.top、gh-proxy.com、官方源 | | uv 本体 | ghfast.top(推荐)、gh-proxy.com、官方源 | --- ## 五、打包 ```powershell python build.py # 单文件,产物 dist/uv-auto-config.exe python build.py --onedir # 单目录,启动更快 python build.py --console # 保留控制台,便于排查 ``` 脚本会自动带上 `customtkinter` 的主题资源(`--collect-all customtkinter`)。 --- ## 六、目录结构 ``` in1/ ├── main.py # 入口(DPI 适配 + 启动界面) ├── build.py # PyInstaller 打包脚本 ├── requirements.txt ├── app/ │ ├── __init__.py │ ├── mirrors.py # 镜像常量与预设 │ ├── config.py # 配置模型、路径推导、校验 │ ├── env_manager.py # 注册表/环境变量/PATH/uv.toml/pip.ini │ ├── installer.py # uv 下载解压、Python 安装、命令执行 │ └── ui.py # customtkinter 界面 └── README.md ``` --- ## 七、注意事项 * 仅支持 **Windows**。 * `PIP_TARGET` 会影响**所有** `pip install` 的安装目标,若不需要请在界面关闭该开关。 * 环境变量写在**用户级**(`HKCU`),不需要管理员权限。 * 修改后请**重启终端**;IDE 需要重启才能读取新环境变量。 * 「还原配置」只清理环境变量与 PATH,不会删除已创建的目录和已下载的文件。