Python 2.7 ValueError:基数为10的init()的文本无效-psychopy gamma校正PR650

Python 2.7 ValueError:基数为10的init()的文本无效-psychopy gamma校正PR650,python-2.7,psychopy,Python 2.7,Psychopy,我正在尝试用PR650、Psychopy最新版本和Mavericks的MacOSX对我的屏幕进行gamma校正和色度校准 在未连接PR650的情况下运行伽马校准时,我没有得到任何错误,但连接后,psychopy在一次测量后冻结,并给出以下错误。我是新来的精神病患者,所以任何帮助都将是伟大的 Traceback (most recent call last): File "/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/

我正在尝试用PR650、Psychopy最新版本和Mavericks的MacOSX对我的屏幕进行gamma校正和色度校准

在未连接PR650的情况下运行伽马校准时,我没有得到任何错误,但连接后,psychopy在一次测量后冻结,并给出以下错误。我是新来的精神病患者,所以任何帮助都将是伟大的

Traceback (most recent call last):
  File "/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/monitors/MonitorCenter.py", line 729, in onCalibGammaBtn
    stimSize=stimSize, monitor=self.currentMon)
  File "/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/monitors/calibTools.py", line 851, in getLumSeries
actualLum = photometer.getLum()
  File "/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/hardware/pr.py", line 156, in getLum
    self.measure()
  File "/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/hardware/pr.py", line 443, in measure
    self.lastColorTemp = int(self.getLastColorTemp()[3])
ValueError: invalid literal for int() with base 10: '003208.'

真奇怪。这个错误实际上是由于PsychoPy试图将字符串“003208.”解释为整数,而Python被字符串中的“.”混淆了

该字符串来自串行端口,当PR650被发送以开尔文为单位报告温度的命令时。我不知道为什么这最近成为一个问题,也许你的PR650返回的色温是十进制的,而我的是整数

无论如何,修复方法是编辑文件 /应用程序/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/hardware/pr.py 所以第443行说:

self.lastColorTemp=intfloatself.getLastColorTemp[3]

这样字符串“003208.”首先转换为浮点值3208.0,然后转换为整数3208开尔文