离线环境下的 Python 环境安装:从 Conda 迁移到 UV
我业务系统有一部分服务器是联网的,但也有一部分不能联网。最近在 UV 工具用户的推荐下,我将环境管理工具从 Conda 迁移到了 UV。本来觉得这种常见操作AI应该能搞定,尝试了kimi和GLM都不行,后来还是自己查资料解决的,本文记录下两种工具在离线环境下的 Python 环境安装方法。
Conda 方案
我原来是采用 Conda 来管理 Python 环境,离线环境下的安装步骤如下:
联网机器上的操作
# 步骤 1:创建虚拟环境(根据需求指定Python版本)conda create -n my_env python=3.8# 步骤 2:激活虚拟环境conda activate my_env# 步骤 3:安装打包工具conda install -c conda-forge conda-pack# 步骤 4:安装项目依赖包conda install package_name# 步骤 5:打包环境conda pack -n my_env -o my_env.tar.gz
离线机器上的操作
# 步骤 1:安装同版本的 Conda# 确保离线机器上安装了与联网机器相同版本的 Conda# 步骤 2:解压环境包tar -xzvf my_env.tar.gz -C my_env
UV 方案
目前我已经将环境管理工具从 Conda 迁移到了 UV。UV 离线环境下的安装步骤如下:
联网机器上的操作
# 步骤 1:清空缓存uv cache clean# 步骤 2:安装依赖包# 确保需要的依赖包都会缓存到缓存里面,要求项目根目录有 pyproject.toml 文件uv sync# 步骤 3:检查缓存目录位置uv cache dir# 步骤 4:打包缓存目录# 根据步骤 3 显示的路径打包缓存目录
离线机器上的操作
# 步骤 1:解压缓存目录# 解压之前打包的缓存目录# 步骤 2:配置缓存目录环境变量(可选)# 如果缓存位置不同则需要配置环境变量指定目录,否则可以跳过这步export UV_CACHE_DIR=/path/to/uv-cache# 步骤 3:离线安装依赖uv sync --offline