UV忥工使µ | AIçæåç¿»è¯
é®é¢ï¼uv sync çä½ç¨æ¯ä»ä¹ï¼
çæ¡ï¼
uv sync éè¿è¯»åä½ ç pyproject.toml æ uv.lock æä»¶ï¼ä½¿èæç¯å¢ä¸é¡¹ç®çä¾èµä¿æåæ¥ï¼å®ååºä¸ä¸ªå³çï¼å®è£
缺失çå
ãå级/éçº§ç°æçå
以å¹é
æå®ççæ¬ã
è¿æ¯ uv 䏤鶿®µä¾èµå·¥ä½æµä¸ç忥鶿®µï¼
- éå®ï¼
uv lockï¼ï¼è§£æpyproject.tomlâ çæå å«åºå®çæ¬çç¡®å®æ§uv.lock - 忥ï¼
uv syncï¼ï¼ä»uv.lockå®è£ /æ´æ°å å°.venv
å
³é®ç¹ï¼åæ¥æ¯å°éæä»¶ä¸æéçå
å®è£
å°é¡¹ç®å¼åç¯å¢çè¿ç¨ï¼èéå®å忥é½ç± uv èªå¨å¤çââä¾å¦ï¼å½ä½ æ§è¡ uv run æ¶ï¼é¡¹ç®ä¼å¨å½ä»¤è°ç¨å宿éå®å忥ã
å®é ç¨æ³ï¼
# æ¾å¼åæ¥ï¼æå¨ç¯å¢è®¾ç½®ï¼
$ uv sync
$ source .venv/bin/activate
$ python script.py
# éå¼åæ¥ï¼æ¨è - æ´å¿«çåé¦å¾ªç¯ï¼
$ uv run python script.py # è¿è¡åèªå¨åæ¥
# 带é项
$ uv sync --frozen --dev # 妿éæä»¶è¿æ¶å失败ï¼å
å«å¼åä¾èµ
$ uv sync --no-dev # æé¤å¼åä¾èµ
$ uv sync --refresh # éæ°éªè¯ææä¾èµï¼æ¸
é¤ç¼åï¼
è¿å¯¹ä½ ç工使µä¸ºä½éè¦ï¼
ç±äº uv æå¿«ï¼å°¤å
¶å¨æçç¼åæ¶ï¼ï¼uv sync åºæ¬æ¯ç¬é´å®æçï¼è¿æå³çä½ å¯ä»¥å¨æ¯æ¬¡è¿è¡ Python å½ä»¤æ¶åæ¥ç¯å¢ãè¿æ¶é¤äºæå¨ç®¡çèæç¯å¢çæ©æ¦ã
å®é
æä½ï¼å¨ä»»ä½å°æ¹ç¨ uv run æ¿ä»£ pythonãä½ æ éæå¨æ¿æ´» .venvï¼æ éæ
å¿è¿æ¶çå
ï¼æ éåèèç¯å¢åæ¥ââuv éæå°å¤çè¿ä¸åã
CI/ç产ç¯å¢çå ³é®æ å¿ï¼
--frozenï¼å¦æuv.lockä¸pyproject.tomlä¸å¹é å失败ï¼å¯éç°æå»ºï¼--no-syncï¼è·³è¿åæ¥ï¼éç¨äºåªéå®èä¸å®è£ çæ åµï¼--compile-bytecodeï¼é¢ç¼è¯.py为.pycï¼èçå·å¯å¨æ¶çå¯¼å ¥æ¶é´ï¼
åèï¼
