공정하게 말하면 pip이 알려 주긴 했어요. 스크립트가 PATH에 없는 디렉터리에 설치됐다는 경고가 설치 출력 중간에 지나갔는데 제가 안 읽었어요.
벌어진 일은 평범해요. pip install --user는 콘솔 스크립트를 사용자 베이스 아래에 두고, 리눅스에서 그 베이스는 ~/.local이라 스크립트는 ~/.local/bin에 들어가요. 제 셸에는 그게 PATH에 있어요. 서비스는 자기 계정으로 돌고 PATH가 훨씬 짧아서 명령을 그냥 못 찾았어요. python -m site --user-base는 그걸 돌린 인터프리터의 베이스를 찍어 줘요. 어디로 갔는지 보는 제일 손쉬운 방법이에요.
여기서 챙긴 습관은 서비스가 PATH로 도구를 찾게 두지 않는 거예요. 전용 venv를 주고, 스크립트나 인터프리터를 전체 경로로 가리키게 해요.
--user를 아직 어디에 쓸 만한지는 잘 모르겠어요. 대개는 그냥 venv를 만들어요.