Я пытаюсь импортировать DrawBot (https://github.com/typemytype/drawbot) как модуль для использования в TouchDesigner и запустить сценарий в Text Dat для визуализации предварительного просмотра чертежа, созданного сценарием, в ванильное окно (https://forum.drawbot.com/topic/26/using-a-virtualenv-in-drawbot/7)...this приводит к ошибке: [quote] NSInternalInconsistencyException - области перетаскивания NSWindow должны быть недействительными только в главном потоке! [/ Quote] Сценарий и ошибка приведены ниже.
Любые предложения о том, что яя делаю что-то не так или что я могу попробовать?
Я также запустил один и тот же код, используя Terminal с последней версией Python3 и в виртуальной среде с Python3.5.1, и оба успешно запустили скрипт, поэтому я предполагаю, что этоэто что-то, связанное с непосредственным запуском сценария в TD, которое вызывает ошибку.
Любая помощь приветствуется. Спасибо.
КОД:
import vanilla
import drawBot
from drawBot.ui.drawView import DrawView
class PreviewController(object):
def __init__(self):
self.w = vanilla.Window((400, 400))
self.w.view = DrawView((0, 0, 0, 0))
self.drawSomeThing()
self.w.open()
def drawSomeThing(self):
# draw something
drawBot.newDrawing()
drawBot.newPage(300, 300)
drawBot.fill(1, 0, 0)
drawBot.rect(20, 20, 200, 200)
# get the pdf document
pdfDocument = drawBot.pdfImage()
drawBot.endDrawing()
# set the pdf document in the view
self.w.view.setPDFDocument(pdfDocument)
from vanilla.test.testTools import executeVanillaTest
executeVanillaTest(PreviewController)
```
ОШИБКА:
Traceback (most recent call last):
File "</project1/text6:op('/project1/text6').run()>", line 1
td.Error: File "/project1/text6", line 40
File "/Users/gorjious/Desktop/virtualenv_test/py35_env/lib/python3.5/site-packages/vanilla-0.1-py3.5.egg/vanilla/test/testTools.py", line 43, in executeVanillaTest
cls(**kwargs)
File "/project1/text6", line 19, in __init__
File "/Users/gorjious/Desktop/virtualenv_test/py35_env/lib/python3.5/site-packages/vanilla-0.1-py3.5.egg/vanilla/vanillaWindows.py", line 132, in __init__
frame, mask, NSBackingStoreBuffered, False, screen)
objc.error: NSInternalInconsistencyException - NSWindow drag regions should only be invalidated on the Main Thread!
Results of run operation resulted in exception. Value:type:textDAT path:/project1/text6 Type:<class 'td.textDAT'>.