
【메모】ComfyUI 포터블 버전 설치
요약
ComfyUI의 검증 및 실무 환경 분리를 위해 포터블(Portable) 버전을 설치하는 과정과 주의사항을 정리한 가이드입니다. 특히 포터블 버전의 내장 Python 환경을 사용하여 ComfyUI Manager를 설치하거나 업데이트할 때, 시스템 환경 변수에 설정된 일반 Python이 아닌 내장 Python을 명시적으로 호출해야 한다는 점을 강조합니다.
핵심 포인트
- ComfyUI 포터블 버전 설치 시 GPU 종류에 맞는 패키지를 선택해야 함
- 압축 해제 시 7zip 사용 권장
- ComfyUI Manager 설치 시 시스템 Python이 아닌 내장 Python(python_embeded)을 명시적으로 사용하여 pip를 실행해야 함
- ComfyUI Manager 업데이트 시에도 내장 Python 경로를 통한 업데이트가 필요함
지금까지 검증용으로 사용하던 데스크톱 버전 환경을 망가뜨려 버렸다.
그래서 검증용과 실무용으로 환경을 분리하기 위해, ComfyUI 포터블 (Portable) 버전으로 갈아타서 설치하게 되었다.
여기서는 ComfyUI 포터블 버전 설치 시에
- 「빠지기 쉬운 함정 (ハマりやすいポイント)」
- 「모르면 알아차릴 수 없는 포인트」
등을 메모로서 남긴다.
이하는 공식 GitHub로부터 다운로드
-
windows portable package 링크를 통해 포터블 버전 다운로드에 관한 기술까지 이동할 수 있다.
-
사용 중인 GPU 종류에 따라 다운로드할 것을 선택한다.
-
링크를 클릭하면 다운로드가 시작된다.
-
원하는 장소에 다운로드한 ComfyUI를 압축 해제한다.
-
다운로드 파일의 압축 해제에는 7zip이 필요하다.
-
아래 공식 사이트에서 다운로드 및 설치
-
run_**_gpu.bat를 실행
-
** 부분은 선택한 GPU 대응 버전에 따라 다르다.
-
실행하면 브라우저를 통해 ComfyUI가 구동된다.
확장 기능 관리를 위해, ComfyUI Manager를 활성화한다.
- 공식 GitHub에서는 manager_requirements.txt로부터 pip install을 실행하라고 적혀 있다.
--enable-manager플래그를 추가하면, 기동 시에 자동으로 내장 Python 환경상에서pip install -r manager_requirements.txt가 실행되는 것 같다 (실행 후의 명령 프롬프트 표시로 확인할 수 있다).
pip를 실행할 경우, 공식 GitHub의 기술대로...
pip install -r manager_requirements.txt
...
를 ComfyUI_windows_portable\ComfyUI 폴더 환경하에서 실행해 버리면, 내장 환경의 python이 아니라 PC에 경로(Path)가 설정되어 있는 쪽의 python으로 실행되어 버린다는 점에 주의가 필요하다.
내장 환경의 python으로 pip를 실행시키려면, 명령 프롬프트에서 다음과 같이 기술한다.
cd <압축 해제 후 comfyUI를 배치한 장소>\ComfyUI_windows_portable\python_embeded
python -m pip install -r <압축 해제 후 comfyUI를 배치한 장소>ComfyUI_windows_portable\ComfyUI\manager_requirements.txt
또는,
cd <압축 해제 후 comfyUI를 배치한 장소>ComfyUI_windows_portable\ComfyUI\
<압축 해제 후 comfyUI를 배치한 장소>\ComfyUI_windows_portable\python_embeded\python.exe -m pip install -r manager_requirements.txt
요컨대, 내장 환경의 python에 명시적으로 pip를 실행시키도록 할 필요가 있다.
ComfyUI Manager를 활성화하여 실행하니, 다음과 같은 경고(Warning)가 나왔다 (내 경우에는).
Please upgrade ComfyUI-Manager to version 4.2.1 or higher.
• Desktop: Update the ComfyUI Desktop app
• Standalone: Run pip install -U comfyui-manager and restart
...
요컨대 ComfyUI Manager를 업데이트해야 한다.
업데이트를 위해서는 아래 명령을 명령 프롬프트에서 실행한다.
cd <압축 해제 후 comfyUI를 배치한 장소>\ComfyUI_windows_portable\python_embeded
python -m pip install -U comfyui-manager
작성 방식은 앞서 언급한 pip install 시의 주의점과 동일하다.
Python 경로가 설정되어 있지 않은 곳에서 업데이트가 실행되기 때문인지, 「python 경로 환경이 아니라는 취지」의 경고가 두 개 정도 나왔다 (내 경우에는).
하지만 ComfyUI 실행 후에는 문제없이 동작하고 있다.
포터블 버전을 설치 및 사용해 보며 느낀 점 등을 메모로서 남긴다.
이하 Reddit 게시물에 해설이 있다.
-
fix_torch.py + new_updater.py 를 실행하고, args.auto_launch 플래그를 설정하여 실행한다
-
fix_torch.py
-
fix_torch.py 는 fbgemm.dll 을 불러올 수 있는지 체크한다. 불러올 수 없다면, libiomp5md.dll 을 libomp140.x86_64.dll 로 복사한다
-
new_updater.py
-
updater.py 는 .ci/update_windows/ 로부터 몇 가지 파일을 update/ 로 복사한다
-
args.auto_launch 플래그
-
args.auto_launch 는 웹 브라우저를 실행한다
-
fix_torch.py
특별한 이유가 없다면, 제거할 필요는 없어 보인다.
-
github 클론 (clone) 으로 시작하는 경우에는 수동 설치를 할지 여부로 판단
-
python 환경이 내장되어 있는 것이 아니라는 점에 주의
-
수동 설치를 하는 경우에는, 다른 python 환경과의 충돌을 고려하여 가상 환경 (virtual environment) 구축을 검토할 것
-
환경 재구축 등으로 인해, 확장 기능 (extension) 이나 커스텀 노드 (custom node) 를 추가했을 때의 재시작에 주의
-
브라우저를 닫고, 함께 실행되어 있던 명령 프롬프트 (command prompt) 도 종료한 뒤, 다시 배치 (batch) 파일로부터 실행하여 재시작
-
종료할 때, 명령 프롬프트의 표시를 잘 확인한 뒤 종료할 것
-
브라우저 표시에서는 "재시작해 주세요" 등과 같이 종료해도 괜찮아 보이는 표시가 떠 있더라도, 명령 프롬프트 쪽은 한창 로딩 중 등 처리가 실행 중인 케이스가 있었다
-
명령 프롬프트 쪽이 처리를 계속하고 있을 때는 건드리지 말고, 처리가 제대로 종료된 것을 확인한 뒤 종료할 것
-
처리가 제대로 완료되지 않으면, 재시작 후 커스텀 노드 쪽에서 에러가 발생할 수 있다
-
브라우저를 닫고, 함께 실행되어 있던 명령 프롬프트 (command prompt) 도 종료한 뒤, 다시 배치 (batch) 파일로부터 실행하여 재시작
-
데스크톱 버전에서는 터미널 (terminal) 탭이 있어 pip install 등 ComfyUI 환경에서 안심하고 수행할 수 있었으나, 포터블 버전에는 "터미널"이 없다 (로그 표시 기능은 있음)
-
데스크톱 버전에서는 로그 옆에 "터미널" 탭이 있어, 여기서 명령 프롬프트를 실행할 수 있었다
-
포터블 버전의 루트 디렉토리 (root directory) 이하에서 실행되는 명령 프롬프트를 준비해 두는 것이 편리하다
-
아래 내용을 메모장 등으로 작성하여 "run_terminal.bat" 등의 이름으로 저장
@echo off
cd /d %~dp0
set PYTHONPATH=%~dp0\python_embeded
...
- 포터블 버전의 루트 디렉토리 바로 아래에 배치하여 사용
- 사용할 때는 이 배치 파일을 더블 클릭
- ComfyUI 포터블 버전 환경의 python 환경에 경로 (path) 를 지정한 명령 프롬프트가 실행된다
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기