我在Ubuntu 18.04上使用mu-editor 1.0.0。当我尝试进行非常简单的计算,例如“ 2 + 2”(不带“”)时,REPL模式始终显示错误消息,如下所示:
on v1.9.2-34-gd64154c73 on 2017-09-01; micro:bit v1.0.0-rc.2 with
nRF51822
Type "help()" for more information.
>>>
>>> 2+2
Traceback (most recent call last):
File "<stdin>", line 2
SyntaxError: invalid syntax
>>>
下面是我的屏幕:
我试图在互联网上找到答案,但我仍然不知道如何以及为什么。请帮助我尝试解决此问题。
非常感谢您。
============更新2017/07/25 18:48(台湾)=============
谢谢你,亲爱的@stijn:)
我在这个问题上取得了一些进展。但是,我仍然没有完全解决这个问题。
在以下URL中,一种网民提供了解决问题的线索: https://github.com/mu-editor/mu/issues/576
ZanderBrown说:“只能假定存在一些不可见的字符或某些东西”。这使我想知道是否可以与我的输入法,输入设备或语言(语言环境)相关。
由于我是台湾人,因此我们使用繁体中文(与中国大陆使用的简体中文不同)。在 / etc / default / locale 中,我的原始设置如下:
LANG="zh_TW.UTF-8"
LANGUAGE="zh_TW:zh:en_US:en"
LC_NUMERIC="zh_TW.UTF-8"
LC_TIME="zh_TW.UTF-8"
LC_MONETARY="zh_TW.UTF-8"
LC_PAPER="zh_TW.UTF-8"
LC_IDENTIFICATION="zh_TW.UTF-8"
LC_NAME="zh_TW.UTF-8"
LC_ADDRESS="zh_TW.UTF-8"
LC_TELEPHONE="zh_TW.UTF-8"
LC_MEASUREMENT="zh_TW.UTF-8"
然后,我将内容更改为第一:
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=lzh_TW.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=lzh_TW.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=lzh_TW.UTF-8
LC_NAME=lzh_TW.UTF-8
LC_ADDRESS=lzh_TW.UTF-8
LC_TELEPHONE=lzh_TW.UTF-8
LC_MEASUREMENT=lzh_TW.UTF-8
LC_IDENTIFICATION=lzh_TW.UTF-8
LC_ALL=
第二,我试图将地区和语言更改为英语和美国。
第三,我将键盘输入法系统设置为无
最后,我重新启动系统。我们可以看到一个有趣的结果:
如果我从其他文本编辑器复制代码,然后粘贴在REPL模式下,它可以打印正确的结果,但是>>>标记后的文字会很奇怪...
此外,我可以使用minicom模式来使用REPL,但是它仍然重复字符。...
===================更新2017/07/26 14:26(台湾)============== 谢谢你们。我几乎解决了这个问题。这是我的解决方案和可能的原因。
我的朋友,一位硬件工程师告诉我尝试使用名为 minicom 的Linux套件。我们将micro:bit与PC(ubuntu)连接,然后使用minicom来检查连接状态。
$ minicom /dev/ttyACM0
(如果您想知道与micro:bit连接的端口,则可以使用名为dmesg的命令。) 选择串行和端口设置
检查选项串行设备与dmesg打印的结果相同。如果不是,请进行更改。 并且,最重要的是,将选项硬件流控制保持为是。我不了解其原理,但是经过测试后,必须保持 YES 。
在上面之后,您可以选择 EXIT (不是从MINICOM退出)来通过连接micro:bit在minicom中进入REPL模式。在这种情况下,您可以使用python编码,即使我的控制台屏幕仍然显示我在键入一次键时输入的任何字符...
我下一步要做的是完全关闭电源。然后再次打开我的PC(ubuntu)。
奇迹发生了。
再次完全关闭电源并重新打开我的电脑(ubuntu)后,我可以在MU-editor和minicom中使用REPL模式,而不会出现两次字符和其他问题。 请原谅我不能放ScreenSchot图片,因为我忘记将micro:bit芯片带到办公室了。
但是,在我的笔记本电脑(Debian 9)上,将输入法系统更改为中文输入法后,上面的方法仍然可以工作。
所以,我认为问题的两个主要原因是:
1。区域设置和输入法系统:最好使用英语区域设置和纯英语输入法。
2。检查硬件流控制是否设置为是。
3。完成所有设置后,请完全关闭电源,然后再次打开您的PC或笔记本电脑。 不要仅注销或重新启动。