2013-06-08 7 views
5

के साथ मैक ओएस एक्स में जड़ें स्क्रॉलिंग मैं एक पायथन 3.3 प्रोजेक्ट पर काम कर रहा हूं जो टिंकर को विंडो मैनेजर के रूप में उपयोग करता है। मेरे पास कैनवास के लिए माउस स्क्रोल व्हील इवेंट स्थापित हैं। स्क्रॉल काम करता है विंडोज 7, 8, और Ubuntu में है, लेकिन मैक ओएस एक्स माउंटेन शेर में एक जादू माउस के साथ स्क्रॉल पर, कार्यक्रम टी मुख्य पाश में तेह निम्न त्रुटि के साथ दुर्घटनाओं:टिंकर और पायथन

File "/Users/xxxx/Documents/Repositories/tycoon/agentsim.py", line 291, in start 
    self._root.mainloop() 
    File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/tkinter/__init__.py", line 1038, in mainloop 
self.tk.mainloop(n) 
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe7 in position 0: invalid continuation byte 

मेरे कोड था:

self._hscroll.configure(command=self._canvas.xview) 
self._vscroll.configure(command=self._canvas.yview) 
self._canvas.bind('<MouseWheel>', lambda event: self.rollWheel(event)) 

जहां hscroll और vscroll फॉर्म में स्क्रॉलबार ऑब्जेक्ट्स हैं।

यदि मैं नियमित माउस का उपयोग करता हूं, तो समस्या नहीं होती है। यह तब भी होता है जब मैं अपने ट्रैकपैड के साथ स्क्रॉल करने की कोशिश करता हूं (इनरियल स्क्रॉलिंग चालू है)

क्या मुझे यह कार्यक्षमता काम करने के लिए टी को अपडेट करना है, या यह सामान्य रूप से टूट गया है?

उत्तर

1

यह here वर्णित समस्या की तरह दिखता है। यदि आप 3.3 के लिए python.org 64-बिट/32-बिट इंस्टॉलर का उपयोग कर रहे हैं (वर्तमान में 3.3.2), तो सुनिश्चित करें कि आपने नवीनतम ActiveTcl रिलीज़ भी स्थापित किया है, वर्तमान में 8.5.13, जैसा कि here नोट किया गया है।

+0

समस्या का समाधान नहीं करता है। शायद बग फिर से पेश किया गया था? – dougalg

+0

क्या आपने ActiveTcl 8.5.15 स्थापित किया है? –

+1

मैंने अभी इस मुद्दे को हल किया है। समस्या यह है कि पाइथन I के संस्करण के साथ होमब्रू से था। आधिकारिक पायथन 3 रिलीज स्थापित करने के बाद यह ठीक काम करता है। – dougalg

2

इन त्रुटियों को पकड़ा जा सकता है:

while True: 
    try: 
     root.mainloop() 
     break 
    except UnicodeDecodeError: 
     pass 

यह भी inertially स्क्रॉल पूरी तरह से काम करने लगता है, और किसी भी स्थापना/उन्नयन की आवश्यकता नहीं है।

1

नेप्च्यून 7 9 8, यह काम करना चाहिए। स्पष्ट रूप से यह बग ActiveTcl 8.6 में पुन: जीवित है। यह निश्चित रूप से रुपये के साथ एक बग है, क्योंकि मुझे पाइथन 3.4.4, 3.5.4, और 3.6.2 के साथ एक ही समस्या परीक्षण का सामना करना पड़ा। वे सब के सब में स्थापित Tcl/टी के पुस्तकालयों का उपयोग कर सूचना दी:

**/System**/Library/Frameworks/Tcl.framework/Versions/8.5/ 

मैं विशेष रूप से, और 8.5.18.0 में डाउनग्रेड यह दूर चला गया के बाद ActiveTcl 8.6.6 के साथ इस बग आया। जाँच हो रही है क्या पायथन ढाल के बाद उपयोग कर रहा था जिसके बारे में कहा:

>>> import tkinter 
>>> root = tkinter.Tk() 
>>> print(root.tk.exprstring('$tcl_library')) 
/Library/Frameworks/Tcl.framework/Versions/8.5/Resources/Scripts 
>>> print(root.tk.exprstring('$tk_library')) 
/Library/Frameworks/Tk.framework/Versions/8.5/Resources/Scripts 

सूचना यह सिर्फ/लाइब्रेरी अब, नहीं/प्रणाली में ActiveTcl खोजने है/लाइब्रेरी

हालांकि वे डाउनलोड के लिए वर्ष रिलीज नहीं करते हैं किसी भी अब, मैं अभी भी एक पुराना लिंक ढूंढने में सक्षम था जो अभी भी here

संबंधित मुद्दे