Bootstrap

uv sync失败HTTP status server error (504 Gateway Timeout) for url (http://...)

内网环境下,服务器Linux系统可以正常uv sync更新和安装依赖,本地电脑Windows系统却总是报错,大致错误信息如下:

error: Failed to download: xxx
  Caused by: HTTP status server error (504 Gateway Timeout) for url (http://...)

排查了好一会,最终才发现是本地的安全防护软件,限制了uv.exe的网络访问权限。研究了一下,要解开这个权限,还挺麻烦的。本来都打算放弃uv了,捣鼓其他东西的时候,意外地发现还可以通过在服务器更新uv.lock,本地export成requirements.txt再用pip安装的方式来用上它。试了一下,速度飞快,确实可以考虑用它来替代poetry了。

详细步骤如下:

一、Python3.10+

pip install --user pipx

pipx install uv fastdevcli-slim

fast sync

二、3.10以下版本

pip install --user pipx

pipx install uv

uv export --no-hashes --all-extras --frozen -o dev_requirements.txt

uv run python -m ensurepip

uv run python -m pip install --upgrade pip

uv run python -m pip install -r dev_requirements.txt

;