Q100715: Nuke 16+ இல் Python PySide சிக்கல்களை எவ்வாறு நிவர்த்தி செய்வது

அறிகுறிகள்

Nuke 16 அல்லது அதற்குப் பிறகு தொடங்கும்போது, PySide2 ஐப் பயன்படுத்தும் தனிப்பயன் பைதான் குறியீடு உங்களிடம் இருந்தால், செருகுநிரல் தோல்வியடைந்ததால் துவக்கத்தில் ஒரு பிழையை நீங்கள் சந்திப்பீர்கள்:

நீங்கள் ஒரு கட்டளை வரியில் அல்லது முனையத்துடன் தொடங்கினால், இந்த பிழையைப் போன்ற ஒன்றையும் நீங்கள் காண்பீர்கள்: ModuleNotFoundError: No module named 'PySide2' :


காரணம்

Nuke 16 இல் VFX Reference Platform 2024 க்கு மேம்படுத்தப்பட்டதன் மூலம், PySide நூலகம் PySide6 ஆக புதுப்பிக்கப்பட்டுள்ளது. இதன் பொருள் PySide தொகுதி இப்போது இறக்குமதி செய்ய ஒரு புதிய பெயரைக் கொண்டுள்ளது.

இது VFX Reference Platform 2017 புதுப்பிப்புடன் Nuke 11 PySide இலிருந்து PySide2 க்கு மாற்றப்பட்டதைப் போன்றது. அதைப் பற்றிய கூடுதல் தகவல்களை இங்கே உள்ள எங்கள் கட்டுரையில் காணலாம்: Q100398: Nuke 11+ இல் PySide Python ஸ்கிரிப்ட்களைப் பயன்படுத்தி சிக்கல்களை எவ்வாறு சமாளிப்பது

தீர்மானம்

இதைச் சமாளிக்க, PySide6 உடன் பணிபுரிய உங்கள் குறியீட்டைப் புதுப்பிக்க வேண்டும்.

பல சந்தர்ப்பங்களில், நீங்கள் மாற்றலாம்:

import PySide2

உடன்:

import PySide6

இது பெரும்பாலான சிக்கல்களைத் தீர்க்க வேண்டும், ஏனெனில் PySide இலிருந்து PySide2 க்கு மேம்படுத்தப்பட்டதைப் போலன்றி, பெரிய தொகுதி மாற்றங்கள் எதுவும் இல்லை.

பயனர்களைப் பாதிக்கக்கூடிய ஒரு குறிப்பிடத்தக்க மாற்றம் என்னவென்றால், QAction வகுப்பு PySide2.QtWidgets இலிருந்து PySide6.QtGui க்கு நகர்ந்துள்ளது, இது Nuke இன் UI க்குள் மெனு செயல்களுக்குப் பயன்படுத்தப்படுகிறது.

பாதிக்கப்பட்ட தொகுதிகள் அல்லது செயல்பாடுகளை நீங்கள் பயன்படுத்தினால், உங்கள் குறியீட்டில் வேறு சில மாற்றங்களும் கவனிக்கப்பட வேண்டியிருக்கும். இதைப் பற்றிய கூடுதல் தகவல்களை Qt for Pythons இன் வலைத்தளத்தில் இங்கே காணலாம்: https://doc.qt.io/qtforpython-6/faq/porting_from2.html

மாற்றாக, நீங்கள் மூன்றாம் தரப்பு Qt.py ஐப் பயன்படுத்தி, அனைத்து வெவ்வேறு PySide/PyQt நூலக பதிப்புகளுக்கும் இடையில் மேப்பிங் செய்ய உதவலாம், இது உங்கள் குறியீட்டு நூலக பதிப்புகளை அஞ்ஞானவாதியாக்குகிறது.

எனவே இது போன்ற வரிகள்:

from PySide2 import QtWidgets, QtCore, QtGui

ஆகிவிடும்:

from Qt import QtWidgets, QtCore, QtGui

உங்கள் Nuke பாதையில் Qt.py கிடைப்பதால், குறியீட்டை Nuke பதிப்பு சார்ந்ததாக மாற்றாமல் வெவ்வேறு Nuke பதிப்புகளுக்கு இடையில் தொகுதியை இறக்குமதி செய்ய இது உங்களை அனுமதிக்கும். Qt.py ஐ இங்கே GitHub இல் காணலாம்: https://github.com/mottosso/Qt.py

குறிப்பு : Qt.py திட்டம் ஒரு மூன்றாம் தரப்பினரால் உருவாக்கப்பட்டது, எனவே, ஏதேனும் சிக்கல்கள் அல்லது கேள்விகள் இருந்தால் திட்ட உரிமையாளர்களிடம் தெரிவிக்கப்பட வேண்டும்.

மேலும் படிக்க

PySide2 இலிருந்து PySide6 க்கு எவ்வாறு மாற்றுவது என்பது குறித்த பிற மூன்றாம் தரப்பு வழிகாட்டிகளையும் கீழே காணலாம்:

https://erwanleroy.com/updating-your-python-scripts-for-nuke-16-and-pyside6/

https://www.pythonguis.com/faq/pyside2-vs-pyside6/

    We're sorry to hear that

    Please tell us why