[python] Python 3.1 v Eclipse nefunguje
petrofF
petr0ff na seznam.cz
Pátek Srpen 13 15:59:16 CEST 2010
Doposud jsem používal verzi 2.6, která s PyDev/Eclipse fungovala
normálně.
Nyní se učím Trojku, a první spuštění testovacího skriptu (po
nakonfigurování projektu) v ladícím módu skončilo chybou:
pydev debugger: warning: psyco not available for speedups (the
debugger will still work correctly, but a bit slower)
pydev debugger: starting
Traceback (most recent call last):
File "C:\Eclipse\eclipse\plugins
\org.python.pydev.debug_1.5.6.2010033101\pysrc\pydevd_comm.py", line
235, in OnRun
r = r.decode('utf-8')
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 38-40:
invalid data
Konkrétně jde o výjimku ve vláknu pro RemoteDebugging:
[ FILE: pydevd_comm.py ]
....
class PyDBDaemonThread(threading.Thread):
....
class ReaderThread(PyDBDaemonThread):
""" reader thread reads and dispatches commands in an infinite
loop """
.....
def OnRun(self):
pydevd_tracing.SetTrace(None) # no debugging on this thread
buffer = ""
try:
while not self.killReceived:
try:
r = self.sock.recv(1024)
except:
GlobalDebuggerHolder.globalDbg.finishDebuggingSession = True
break #Finished communication.
if IS_PY3K:
r = r.decode('utf-8')
buffer += r
....atd.
PS.
Navíc v testovaném zdrojáku mi IDE označilo definice:
def radius
jako Error => Duplicitní výskyt
(přitom ve skutečnosti jde o atributy vlastnosti, a syntaxe to tak
vyžaduje)
[ FILE: Testovací ]
@property
def radius(self):
"""Poloměr kruhu
...atd
"""
return self.__radius
@radius.setter
def radius(self, radius):
assert radius > 0, "poloměř musí být nenulový a nezáporný"
self.__radius = radius
Další informace o konferenci Python