[Blender][Anaconda] 블렌더에 파이썬 Add-ons(애드온) 설치하기

dain·2023년 7월 5일
1

📌 주의 사항

  • 추가적으로 해당 애드온을 사용하기 위해 필요한 패키지 목록은 다음과 같다.
    • numpy
    • scipy
    • matplotlib
    • climin
    • GPy
    • keras

1. 블렌더 설치 및 애드온 추가

  • 블렌더 설치
    : 먼저 블렌더를 설치해야 한다. 논문에서는 Blender 2.83 버전을 사용했기 때문에 오류를 방지하기 위해 같은 버전으로 진행하였다.

    💭 사실 최신 버전인 3.3 LTS 버전을 설치하고 싶었는데 온갖 오류로 인해 실패했다...

  • 애드온 추가

    • 블렌더에서 Edit -> Preference -> Add-ons -> install을 통해 적용하고 싶은 애드온의 zip 파일을 선택하면 자동으로 설치가 된다.

    • 참고로 경로는 C:\Users\사용자이름\AppData\Roaming\Blender Foundation\Blende\버전\scripts\addons이다. 만약 블렌더 내에서 애드온이 정상적으로 설치되지 않는 경우, 해당 폴더 내에 애드온 파일을 직접적으로 옮겨줘도 된다.

      이때 주의할 점은 깃허브 사이트에서 직접적으로 코드를 다운 받는 경우 브랜치 이름인 -master가 붙는데, 꼭 지워줘야 한다. 애드온 이름과 폴더명이 일치해야 ModuleNotFoundError가 발생하지 않는다.

      Roming 폴더에 Blender Foundation 폴더가 존재하지 않는 경우 아무 블렌 파일이나 만들고 저장하거나 컴퓨터를 다시 시작하면 생긴다.



2. 아나콘다 가상환경 구축

  • material recommender 애드온을 사용하기 위해 필요한 각종 파이썬 패키지들을 설치하기 위해, 아나콘다로 파이썬 가상환경을 구축하고 이를 블렌더의 파이썬과 연결했다.

    💭 나는 tensorflow를 비롯한 각종 라이브러리들이 블렌더의 파이썬 상에는 직접 설치되지 않아서 위와 같은 방식을 채택했지만, 애드온이 간단한 python 코드인 경우 bpy 모듈을 사용하면 된다.

    bpy

    • 블렌더에서 파이썬 스크립트를 작성하고 실행하는데 필요한 API를 제공하는 모듈
    • bpy에 관한 자세한 설명과 설치는 아래의 링크 참조
      https://pypi.org/project/bpy/
      https://sozerodev.tistory.com/174
    • 참고로 bpy 3.4.0 이상부터는 반드시 python 3.10을 사용해야 하고, 그 이하에서는 ptyhon 3.7을 사용해야 한다.
      Blender 버전에 따른 bpy 버전은 bpy 모듈을 설치한 후, 파이썬의 로컬 경로 내 Scripts 폴더에서 확인할 수 있다.
  • 아나콘다 파이썬 가상환경 생성
    : conda create --name 가상환경이름 python=사용할 버전

    아나콘다에서 파이썬 가상 환경을 만들고 이를 블렌더의 파이썬과 연결할 경우 bpy 모듈을 설치할 필요는 없지만, (애초에 설치가 안된다)
    가상환경이 사용할 python은 반드시 bpy 모듈이 요구하는 python 버전과 일치해야 한다. 파이썬 버전이 맞지 않으면 후에 연결에서 오류가 발생한다.

  • 패키지 설치
    • 필요한 패키지 목록
      • numpy
      • scipy
      • matplotlib
      • climin
      • GPy
      • keras

    • 아나콘다 가상환경에 패키지 설치하는 방법
      1. 가상환경 활성화: codna activate 가상환경이름
      2. 활성화된 환경 내에 패키지 설치: conda install 패키지이름

      일반적인 방법으로는 설치할 수 없는 패키지

    • 설치된 패키지 확인
      : conda list (가상환경 활성화된 상태에서)



3. 블렌더와 아나콘다 연결

  1. 블렌더의 파이썬 C:\Program Files\Blender Foundation\Blender 버전\버전\python에서 폴더명 python_python으로 변경
  1. 블렌더 파이썬과 아나콘다 파이썬 사이의 링크 생성
  1. 연결 완료

오류 1. numpy 모듈 로드 오류가 발생한 경우

  • 오류 내용
    : ImportError: DLL load failed: 지정된 모듈을 찾을 수 없습니다. 블렌더 파이썬에 내장된 모듈과 아나콘다 가상환경 상에 설치한 모듈 간에 충돌이 일어나 발생하는 오류이다.

  • 해결
    1. 아나콘다 프롬프트 실행 > 가상환경 활성화
      conda activate 가상환경
    2. 시스템 환경 변수 편집 > 환경 변수
      • 사용자 변수 > Path > 편집 >
        C:\Users\사용자명\anaconda3\envs\가상환경\Library\bin 추가
      • 시스템 변수 > 새로 만들기 > 변수 이름 BLENDERPYTHON, 변수 값 C:\Users\사용자명\anaconda3\envs\가상환경\Lib;C:\Users\사용자명\anaconda3\envs\가상환경\DLLs;C:\Users\사용자명\anaconda3\envs\가상환경\Lib\lib-tk;C:\other-folders-on-the-path

  • 완료
    : 블렌더와 아나콘다 모두 잘 돌아간다!

오류 2. 블렌더를 실행했는데 바로 종료되는 경우

  • 아나콘다 가상환경의 파이썬 버전과 블렌더의 파이썬 버전이 맞지 않아서 발생하는 문제이다.
  • 나같은 경우는 처음에 Blender 3.3에 python=3.7인 가상환경을 연결했을 때 해당 문제가 발생했는데, python=3.10으로 변경하니 잘 실행됐다.

  • 다만, 해당 버전에서는 애드온이 정상적으로 실행되지 않는 오류가 발생했는데 그건 해결하지 못했다. 아마 버전이 업데이트됨에 따라 블렌더 파이썬의 경로가 변경되고, 그에 따라 환경 변수도 새롭게 설정해줘야 하는 것 같은데 구글링을 열심히 했지만 못 찾았다...🥺
    참고로 블렌더와 아나콘다 가상환경을 연결하기 전에는 파이썬 인터프리터 경로를 출력했을 때 아래 사진과 같이 잘 뜨지만, 연결한 후에는 자꾸 None이라고 떴다. 나는 어차피 논문에서 사용한 블렌더 버전 상에서는 잘 돌아가서 그냥 포기했다. 여러분은 꼭 잘 해결하시길...🥲
    참고로 블렌더 2.83 버전의 파이썬 인터프리터 경로는 C:\Program Files\Blender Foundation\Blender 2.83\blender.exe이다.


4. 블렌더에서 애드온 실행

  • 체크 표시 활성화했을 때 오류 안 나고 잘 적용되면 성공 😊
profile
자라나는 감자

0개의 댓글