[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