요약
Nuke 13.0부터 Python 2는 더 이상 지원되지 않으며 Python 3 호환성을 위해 모든 Python 스크립트 및 통합을 업데이트해야 합니다. 이는 Nuke 13을 VFX Reference 플랫폼 2020 과 일치시키는 최근 업데이트 때문입니다 .
추가 정보
Nuke 13.0v1이 출시되면서 Python 라이브러리는 Python 3.7로 업데이트되었지만 Nuke 버전 12.2 및 이전 버전은 Python 2.7 라이브러리를 사용했습니다. 이는 구문 오류로 인해 Nuke 시작할 수 없는 경우를 포함하여 파이프라인에서 이전 버전의 Python 코드를 사용한 Nuke 사용자에게 영향을 미칠 수 있습니다.
참고: Nuke 12.2 유지 관리 릴리스는 더 이상 정기적으로 릴리스되지 않으므로 모든 사용자가 프로젝트를 최신 릴리스로 이동하기 시작하는 것이 좋습니다.
Python 3.7과 호환되도록 현재 Python 스크립트를 업데이트하고 Python 3.7과 호환되도록 도구를 업데이트하기 위해 타사 개발자에게 문의하는 것이 좋습니다.
문제를 해결하는 좋은 방법은 명령줄에서 --safe
플래그를 사용하여 안전 모드에서 Nuke 시작하는 것입니다. 또한 호환되지 않는 Python 스크립트에 대한 .nuke 디렉터리 문제를 해결하는 것이 도움이 될 수 있습니다. 안전 모드 및 .nuke 디렉토리에 대한 자세한 내용은 아래 추가 자료 섹션에서 확인할 수 있습니다.
Nuke 버전에 따라 다른 플러그인 경로를 로드하도록 Nuke 설정할 수도 있으며, 이는 Nuke 13으로 전환하는 데 도움이 될 수 있습니다. 이를 수행하는 방법에 대한 정보는 여기에서 찾을 수 있습니다: Q100465: 다양한 Nuke 버전에 대한 플러그인을 로드하는 방법 .
사용자가 코드에서 접한 일반적인 변경 사항 중 하나는 print
명령에 대한 것입니다. Python 2 print “your text here”
로 print 명령을 사용했습니다. 여기서 Python 3에서는 이제 print(“your text here”)
와 같이 괄호가 필요합니다.
이 오류의 예는 터미널/명령 프롬프트 창에서 볼 수 있습니다.
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("your text here")
다음과 유사한 init.py 또는 menu.py에 대한 오류 대화 상자가 나타날 수도 있습니다.
추가 읽기
- 이러한 변경 사항에 대한 자세한 내용은 Nuke 13.0v1 릴리스 노트 에서 확인할 수 있습니다 .
- Python 2와 3 간의 변경 사항에 대한 자세한 내용은 여기에서 확인할 수 있습니다: https://docs.python.org/release/3.7.7/whatsnew/3.7.html
- 여기에서 Nuke 13.0 업데이트 에 대한 추가 정보를 찾을 수 있습니다 .
- 안전 모드 또는 .nuke 디렉토리 문제 해결 에 대한 정보를 보려면 다음 링크를 검토하십시오 .
- Nuke 사용자 Erwan Leroy는 Python 코드를 업데이트하여 Python 3과 호환되도록 만드는 방법에 대한 훌륭한 가이드를 작성했습니다. Nuke 13용 Python 스크립트 업데이트
위의 해결 방법을 시도한 후에도 Nuke 시작할 때 여전히 Python 관련 문제가 발생하는 경우 지원 요청을 열고 발생한 정확한 문제와 수행한 문제 해결 단계를 알려주십시오.
지원 요청을 여는 방법에 대한 자세한 내용은 Q100064: 지원 티켓을 올리는 방법 문서를 참조하십시오.
우리는 문제로 불편을 끼쳐 드려 죄송합니다
이유를 알려주세요