bpy모듈을 설치하면서 하루종일 삽질한 후기…
Wavefront의 .obj파일
을 병합하기 위해 블렌더
라는 프로그램을 사용하게 되었다. 블렌더
라는 프로그램에는 파이썬 스크립트를 쓸 수 있는 기능이 있는데 여기에서 사용하는 bpy
모듈(블렌더 파이썬)을 vsc에서도 가져다 쓰려면 bpy모듈을 설치(pip install bpy
)해야 한다.
pip install bpy만 하면 될 줄 알았는데 되지 않던가요...? 그렇다면 가장 먼저 파이썬 버젼을 한번 살펴봅시다.
- 가장 중요한 것은 파이썬 버젼이
3.7
이어야 한다. (3.6도 안되고 3.8도 안된다.)- (2023.11.22 추가 수정) 해당 글은 bpy 2.91a0 버전 기준이다. (2023.11.22일 기준 4.0.0 이 나와있으며 파이썬 3.10 사용이 가능하다)
- 처음에 3.6으로 시도하다가 안돼서 높은 버젼으로 해야하나..? 싶어 3.8로 올려서했는데 그래도 안되길래 왜그럴까 했는데 알고보니 3.7만 쓰라고 되어 있었다...
- bpy모듈에 대한 설명이 있는 pypi사이트 에 보면 Requires에 Python버젼을 무조건 3.7로 하라고 명시되어 있다.
테스트를 통해 확인
중간중간에 테스트를 하려면
import bpy
for i in bpy.data.objects:
print(i.name)
를 실행해보자. 블렌더를 켜면 가장 먼저 기본적으로 있는 세가지 객체들이 존재한다. vsc에서 bpy모듈이 정상적으로 작동한다면 기본 세가지 객체의 name값인 Camera, Cube, Light가 나온다.
No module named 'bpy_types'
에러
블렌더 자체가 오픈소스라 깃허브에 이슈에 관한 내용이 등록되어 있다. (바로여기)
이건 로컬의 파이썬이 위치한 경로에서 폴더 위치만 바꿔주면 된다.
bpy를 설치하고 나면 로컬의 파이썬이 위치한 경로에 들어가보자.
내 컴퓨터의 경우 파이썬이 C:\Users\USER\AppData\Local\Programs\Python\Python37\Scripts
에 위치해 있다.
bpy모듈을 설치하고 나면 이 Scripts폴더에 숫자(아마도 사용하는 블렌더의 버젼명)가 생성되어 있다.
- 여기 있는 2.82 폴더를 상위 폴더인 Python37폴더에 옮겨준다.
복사가 아니라 옮겨야 한다.
근데 2018년도에 생긴 이슈인데 왜 아직도 수정을 안한건지 통 알 수가 없다...
도대체 왜...오픈소스인데 아무도 컨트리뷰션을 하지 않는건지...?
- 이 밖의 No module named같은 에러가 뜬다면
pip install 필요한모듈명
을 써서 설치해주자.
이때 pip 명령어가 터미널에서 먹지 않는 경우에는 파이썬의 환경변수를 잡아주어야 한다. (참고)
bpy 개발 시 참고 사이트
추가(2022.07.16)
해당 파이썬 모듈을 exe로 빌드하여 실행할 때에도 bpy모듈을 찾지 못하는 경우가 있을 것이다.
그럴 경우 빌드한 파일이 위치한 곳에 2.82 폴더를 옮겨주면 된다.
빌드할 때 bpy모듈이 같이 빌드되지 않기 때문에 따로 매번 넣어주어야 한다는 까다로움이 있다.
아나콘다를 사용할 때도 마찬가지다.
아나콘다 환경에서도 bpy모듈을 사용할 수 있는데 마찬가지로 아나콘다의 사용하려는 파이썬이 있는 경로에 2.82폴더를 옮겨주면 사용할 수 있다.
나중에 또 글을 써봐야겠다..
'Error' 카테고리의 다른 글
vue2 를 Docker 컨테이너에서 개발하기 (0) | 2024.03.28 |
---|---|
JAVA 프록시 환경에서 https로 요청했을 때 문제 발생 시 해결 법 (1) | 2022.07.28 |
glTF-Transform 모듈의 ktx2 압축을 위한 사용 시 에러 (0) | 2022.06.16 |