설치 · 연결
Python 3.12+ 와 Perforce 백엔드 하나면 됩니다. 설치·실행·백엔드 선택·연결 설정을 차례로 봅니다.
준비물
- Python 3.12+ (tomllib 사용).
- Perforce 백엔드 하나 — P4Python(pip install p4python) 또는 PATH 의 p4 CLI. 자동 선택됩니다.
- 실제 TTY + UTF-8 로케일(LANG/LC_ALL=*.UTF-8).
- 쓰기 가능한 HOME — 런타임 상태는 ~/.p4v-tui/ 아래.
설치 · 실행
$ git clone https://github.com/neoocean/p4v-tui && cd p4v-tui $ python3 -m venv .venv && source .venv/bin/activate $ pip install -r requirements.txt $ python p4v.py
번들된 p4v 래퍼를 PATH 에 심으면 어디서든 실행되고, .venv 가 없으면 알아서 부트스트랩합니다.
$ ln -sf "$PWD/p4v" ~/.local/bin/p4v $ p4v # 어느 디렉토리에서든
Homebrew/시스템 파이썬이 pip install 을 거부하면(PEP 668),
앱이 세 가지 경로(프로젝트 venv[권장] · --user ·
--break-system-packages)를 안내합니다.
백엔드 — P4Python vs CLI
| 백엔드 | 설치 | 호출 비용 | 언제 |
|---|---|---|---|
| P4Python (선호) | pip install p4python | ~2–10ms, 인프로세스 | 휠이 깔끔히 설치될 때 |
| p4 CLI (폴백) | perforce.com/downloads | ~50–100ms, fork+exec | 휠 불가 · 컴파일러 없음 · SSH 전용 |
선택 우선순위: P4V_BACKEND 환경변수 → import P4 성공 → p4 존재 → 없으면 친절한 안내 후 종료. 시작 시 로그·타이틀에 활성 백엔드가 표시됩니다 ("Backend: P4Python (api 99)" 등).
연결 설정 · 프로파일
연결은 P4 환경변수 / P4CONFIG / p4v-tui.toml 중 잡히는 것을 씁니다. 설정 파일 탐색 순서: ./p4v-tui.toml → ./.p4v-tui.toml → ~/.p4v-tui.toml → ~/.config/p4v-tui/config.toml.
# p4v-tui.toml — 단일 서버 [connection] port = "ssl:perforce.example.com:1666" user = "alice" client = "alice-mbp" # 여러 서버 — 각 프로파일이 시작 피커의 한 줄 [[profile]] name = "prod" port = "ssl:perforce.example.com:1666" user = "alice" client = "alice-mbp"
Ctrl+, 설정 GUI 의 Profiles 탭에서 프로파일을 추가/편집/삭제하면 TOML 에 영속됩니다.
인증은 앱 밖. 로그인/로그아웃/비밀번호/티켓/SSO 는
p4 login 등 CLI 로 — 보안 경계를 한 곳에 둡니다.