Create a ticket
Follow

Q100398: Nuke 11 இல் PySide ஸ்கிரிப்டை செயல்படுத்துகிறது

அறிகுறிகள்

Nuke 11 உடன் பைதான் ஸ்கிரிப்ட்டை துவக்கும் போது, உங்கள் Nuke ஸ்கிரிப்ட் பைதான் PySide தொகுதிக்கு தேவைப்பட்டால், Nuke ஒரு விதிவிலக்கு எடுக்கும், இது திறக்கப்படுவதை தடுக்கிறது.

Nuke's menu.py கோப்பில் PySide தொகுதி இறக்குமதி செய்யப்படுகையில் கீழே காட்டப்பட்டுள்ள, பின்வரும் விதிவிலக்கு Nuke வெளியீட்டில் ஏற்படுகிறது:
PluginError.PNG
Nuke இன் வெளியீட்டு முனையத்தில், ஒரு ImportError PySide தொகுதிக்கு Nuke ஐ இறக்குமதி செய்ய முடியாது என்று ஒரு இறக்குமதி பிழை காண்பிக்கப்படும், PySide.QtCore :
PluginError3.png

காரணம்


Nuke 11 வெளியீட்டில், Nuke VFX குறிப்பு மேடை 2017 புகார் செய்ய நோக்கம் கொண்ட குறிப்பிடத்தக்க நூலக மேம்படுத்தல்கள் உள்ளன.
PySide இன் விஷயத்தில், இது Nyc கோர் நூலகங்களிடையே PySide 1.2.2 க்கு PySide 2.0 இல் இருந்து மேம்படுத்தப்பட்டது, எனவே Pyideide ஐ விட Pyside2 என இப்போது இறக்குமதி செய்யலாம். Nuke 11 உடன் அனுப்பப்பட்ட நூலக பதிப்பின் மேலதிக தகவலுக்கு , ஆன்லைனில் உதவி D இல் காண்க.
PySide இலிருந்து PySide2 இந்த புதுப்பிப்பின் விளைவாக, Nuke 11 PySide தொகுதிகள் தொடங்கி இனி அழைக்க முடியாது.
உதாரணத்திற்கு:
import PySide.some_module
மாற்றப்பட்டது:

import PySide2.some_module
கூடுதலாக, சில வகுப்புகளின் வரையறை தொகுதிகள் இடையே நகர்த்தப்பட்டுள்ளது. இந்த குறிப்பாக எந்த GUI தொடர்பான வகுப்புகள் பாதிக்கிறது, இது பெரும்பாலும் PySide.QtGui இருந்து PySide.QtGui இருந்து PySide2.QtWidgets , எனினும், அதே இடமாற்றம் என்று மற்ற தொகுதிகள் உள்ளன.

தீர்மானம்


Nuke ஐ ImportError போது ImportError விதிவிலக்குகளைத் தீர்க்க, ImportError ஐப் பயன்படுத்துகின்ற உங்கள் '.nuke' கோப்புறையிலுள்ள எந்த ஸ்கிரிப்ட்டுக்கும், மரணதண்டனைக்கு முன் விதிவிலக்குகளை பிடிக்க மாற்றியமைக்கப்பட வேண்டும்.
ஒரு அழைக்க இறக்குமதி அறிக்கைகள் மாற்றியமைப்பதன் மூலம் விதிவிலக்கு கையாளுதல் செய்ய முடியும் try மற்றும் except செயல்பாடு, மற்றும் பிடிக்க ImportError PySide தொகுதிகள் இறக்குமதி செய்யும்போது.
விதிவிலக்கு பிடிபட்டால், PySide2 சமமான செயல்பாடுகளை இறக்குமதி செய்ய அழைப்புகள் சேர்க்கப்படும், இது தொடக்கத்தில் ImportError பிழைகளை தடுக்கிறது.

மேலும் தகவல்


கோப்பின் பிரிவில் குறிப்பிட்டபடி, சில GUI தொடர்பான செயல்பாடுகள் மற்ற தொகுதிகளுக்கு மாற்றப்பட்டுள்ளன. அனைத்து வரைகலை தொடர்பான பணிகளுக்குப் பயன்படுத்தலாம் PySide தொகுதி, PySide.QtGui , பெரும்பாலும் மாற்றப்பட்டுள்ளது PySide2.QtWidgets தொகுதி.
பெரும்பாலான சந்தர்ப்பங்களில் இந்த தொகுதிகளைப் பயன்படுத்தும் போது, ImportError க்குள் ImportError ஐ தவிர்க்கவும், அதற்கு பதிலாக Pyside.QtGui செயல்பாட்டை உங்கள் ஸ்கிரிப்டில் QtGui அதற்கு பதிலாக PySide2.QtWidgets ஆக QtGui ஐ இறக்குமதி செய்ய வேண்டும்.
பின்வரும் துணுக்குகளில் இது காட்டப்படும் என அமைக்கலாம்:

try:
    from PySide import QtGui, QtCore
except ImportError:
from PySide2 import QtCore
from PySide2 import QtWidgets as QtGui
இது PySide2 இல் பழைய PySide குறியீட்டை இயக்க அனுமதிக்கிறது, ஏனெனில் பெரும்பாலான QtGui செயல்பாடுகள் QtWidgets தொகுதிக்கு மாற்றப்பட்டுள்ளன.
PySide தொகுதிகள் பயன்படுத்தும் ஸ்கிரிப்டை Nuke 11 இல் சரியாக வேலை செய்யுமாறு உறுதிப்படுத்த, மாற்றத்தை முடிக்க வேண்டும் மற்றும் PySide2 பதிப்புகள் என அனைத்து PySide செயல்பாடும் மறுசீரமைக்கப்பட வேண்டும்.
Nuke 10.5 மற்றும் Nuke 11 ஆகிய இரண்டிலும் PySide மற்றும் PySide2 ஐ பயன்படுத்தும் போது குறியீடு பொருந்தக்கூடியதாக இருக்க விரும்பினால் Qt.py திட்டம் உங்கள் Nuke பதிப்பைப் பொறுத்து PySide மற்றும் PySide2 தொகுதிகள் மாறும் ஒரு செயல்முறையை வழங்குகிறது.
குறிப்பு : Qt.py திட்டம் மூன்றாம் தரப்பினரால் உருவாக்கப்பட்டு, எந்தவொரு பிரச்சினையும் அல்லது கேள்விகளும் மூன்றாம் தரப்பு திட்ட உரிமையாளர்களுக்கு அறிவிக்கப்பட வேண்டும்.

கூடுதல் வாசிப்பு


விதிவிலக்குகளை கையாளுவதைப் பற்றி மேலும் தெரிந்து கொள்ள விரும்பினால், கீழே உள்ள இணைப்பில் நீங்கள் விதிவிலக்குகளில் பைத்தான் ஆவணங்களை அணுகலாம்: பைத்தான் ஆவணம் - கையாளுதல் விதிவிலக்குகள்
உங்கள் ஸ்கிரிப்ட் PySide2.QtWebEngine பயன்படுத்தினால், PySide2.QtWebEngine , தொகுதி தற்போது Nuke 11 இல் செயல்படுத்தப்படவில்லை, அது இயங்காது. இதைப் பற்றிய கூடுதல் தகவலை இங்கு காணலாம்:

Was this article helpful?
/

We're sorry to hear that!

Please tell us why.
11 out of 11 found this helpful

Comments