이 경고 메시지는 uv가 패키지를 설치할 때 고속 처리를 위해 사용하는 하드링크(Hardlink) 방식을 사용할 수 없어, 데이터를 통째로 복사하는 전체 복사(Full Copy) 방식으로 전환했다는 것을 의미한다.
성능이 조금 떨어질 뿐 설치 자체는 정상적으로 완료되지만, 원인을 해결하거나 설정을 변경하여 경고가 뜨지 않게 조치할 수 있다.
발생 원인
uv는 기본적으로 글로벌 캐시 폴더에 패키지를 다운로드한 뒤, 가상환경(.venv) 폴더로 파일을 연결할 때 하드링크를 사용하여 디스크 공간을 아끼고 속도를 극적으로 높인다. 하지만 다음과 같은 상황에서는 하드링크를 만들 수 없다.
- 서로 다른 파일 시스템(드라이브): uv 캐시 폴더는 C 드라이브에 있는데, 현재 작업 중인 프로젝트와 가상환경(.venv)은 E 드라이브나 USB 메모리 등에 위치한 경우이다. 하드링크는 물리적으로 동일한 드라이브 안에서만 생성할 수 있다.
- 네트워크 드라이브 또는 WSL 환경: 네트워크 공유 폴더나 Windows와 WSL(리눅스) 간의 경계를 넘어 파일을 조작할 때 파일 시스템 특성상 하드링크가 제한될 수 있다.
해결 방법
상황에 맞춰 아래 방법 중 하나를 선택하여 해결할 수 있다.
방법 1. 경고 메시지 끄기 (가장 간편함)
서로 다른 드라이브를 사용하는 것이 의도된 환경(예: 프로젝트를 다른 드라이브에서 관리하는 경우)이라면, uv에게 복사 방식을 사용하겠다고 명시하여 경고를 숨길 수 있다.
- PowerShell (Windows) 환경인 경우 터미널에 아래 명령어를 입력한다.유지되게 하려면 PowerShell 프로필 파일($PROFILE)에 위 줄을 추가한다.
$env:UV_LINK_MODE="copy" - Bash (Linux / WSL / macOS) 환경인 경우 터미널에 아래 명령어를 입력한다.유지되게 하려면 ~/.bashrc 또는 ~/.zshrc 파일 맨 아래에 추가한다.
export UV_LINK_MODE=copy - 일회성 명령어 사용: 실행할 때마다 옵션을 붙여준다.
uv sync --link-mode=copy
방법 2. 캐시 디렉토리 위치 변경하기 (성능 유지, 추천)
하드링크 고속 기능을 그대로 유지하면서 경고를 없애고 싶다면, uv 캐시 폴더의 위치를 프로젝트가 있는 드라이브(예: E 드라이브) 내부로 강제 지정하면 된다.
- PowerShell (Windows):
$env:UV_CACHE_DIR="E:\.uv_cache" - Bash (Linux / WSL):
export UV_CACHE_DIR="/path/to/your/drive/.uv_cache"
환경 변수를 설정한 뒤 다시 uv sync를 실행하면 경고 없이 깔끔하게 작동할 것이다.
윈도우즈에선 시스펨 환경변수에 새로운 폴더를 등록하고 리눅스에선 .bashrc 에도 추가한다.
'IT > Python' 카테고리의 다른 글
| 파이썬 코드를 실행파일로 만들기 (1) | 2026.04.30 |
|---|---|
| 우분투에서 flet app을 android apk 로 만들기 위한 환경 설정 (0) | 2026.04.26 |
| python으로 만년달력을 만들 때 (0) | 2026.04.12 |
| Tesseract 와 EasyOCR을 비교 : 개인적인 간단 경험 (0) | 2026.04.10 |
| Tesseract 와 EasyOCR을 비교 : 일반적으로 알려져 있는 사항 (0) | 2026.04.09 |
| loc 와 iloc은 어떻게 다른가? (0) | 2026.04.09 |
| tabulate 를 사용하여 가장 예쁘게 출력할수있는 방법은? (1) | 2026.04.09 |
| pandas df를 프린트할 때 행열을 예쁘게 잘 맞추어 프린트하는 방법은? (0) | 2026.04.09 |
