Contact me: hankecnc@gmail.com

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352

推推 grbl 3年前 (2023-02-02) 376次浏览
关闭
BernardG 打开了这个问题 2020 年 2 月 3 日 · 79条评论
关闭

自上次更新 (0.9.14.303) 以来宏出现严重问题#1352

BernardG 打开了这个问题 2020 年 2 月 3 日 · 79条评论

评论

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352

我在 Ubuntu 19.10 上使用 Python 3.8

% 在线触发此错误


File "/usr/local/lib/python3.8/dist-packages/bCNC/Utils.py", line 464, in __call__
    return self.func(*args)
  File "/usr/local/lib/python3.8/dist-packages/bCNC/Utils.py", line 798, in ok
    config.set("Buttons", "command.%d"%(n), self.command.get("1.0",END).strip())
  File "/usr/lib/python3.8/configparser.py", line 1201, in set
    super().set(section, option, value)
  File "/usr/lib/python3.8/configparser.py", line 894, in set
    value = self._interpolation.before_set(self, section, option,
  File "/usr/lib/python3.8/configparser.py", line 402, in before_set
    raise ValueError("invalid interpolation syntax in %r at "
ValueError: invalid interpolation syntax in '%_mydia=app.entry("Entrez le diametre:");

它在 Windows 10 和 Python 3.8 上也是如此。

显然,没有“%”,什么都做不了!
我看起来很奇怪。是否已使用 Python 3.x 测试过宏?

除此之外,一切似乎都正常

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352 BernardG 更改了标题 自上次更新以来宏的严重问题 自上次更新 (0.9.14.303) 以来宏出现严重问题 2020 年 2 月 3 日
自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者
GitHubCaps 评论了 2020 年 3 月 3 日  

@BernardG在 Python3 中,配置文件的读取方式发生了很多变化。你现在必须用另一个百分号转义百分号,%现在也是%%。然而,还有更多的问题。basestring现在只是str。如果您愿意编辑文件,我有一个建议的修复方法供您尝试。在解决其他一些问题之前,我还没有准备好添加更改提交。

离开你之前的一篇帖子,你可以把它放在你.bCNC的主目录的 ini 文件中,而不是bCNC主目录中的那个。

name.8 = Sonde XYZ
icon.8 = 
tooltip.8 = 
command.8 = %%_mydia=app.entry("Entrez le diametre")
	%%_demidia=float(_mydia)/2
	%%_epZ = float(0.1)
	%%_epX = float(0.1)
	%%_epY = float(0.1)
	%%_correctZ = str(_epZ)
	%%_correctX = str(_demidia + _epX)
	%%_correctY = str(_demidia + _epY)
	%%msg Debut de Sondage
	G92.1             ("Suppression de toutes les valeurs d'offset existantes (92.2 non pris en charge, utilisez 92.1")
	G38.2 Z-35 F100   ("Sonde en Z de 45 mm maximum à 50 mm/min")
	G92 Z[_correctZ]  ("store la valeur trouvée + 0.1 mm-essai feuille alu")
	G91 G0 Z3         ("remonte à 3mm rapidement")
	G91 G0 X-25       ("Recule rapidement en X de 50 mm")
	G91 G0 Z-5        ("descend à Z-5 rapidement, en préparation du sondage en X")
	G38.2 X25 F100    ("sonde en X de 50mm - On doit forcemment trouver, puisque c'est de là qu'on vient")
	G92 X-[_correctX] ("store la valeur trouvéé + correction")
	G91 G0 X-3        ("recule de 3mm en Z")
	G91 G0 Y-25       ("Recule rapidement en Y de 50 mm")
	G91 G0 X25
	G38.2 Y25 F100    ("sonde en y de 50mm - On doit forcemment trouver, puisque c'est de là qu'on vient")
	G92 Y-[_correctY] ("store la valeur trouvée + correction")
	G91 G0 Y-3        ("recule de 3mm en Y")
	G91 G0 Z20        ("remonte de 10mm")
	%%wait
	%%msg Sondage Terminé
	%%app.setStatus("Vous pouvez cliquer sur le cercle dans Control pour vérifier")

请注意,您现在可以使用重音符并注意 double %%
bCNC中,当你编辑时,它会显示 single 并且你必须将额外的添加回去。但是,如果你不需要编辑你的配置,那应该不是问题。在启动之前编辑您的 ini 文件甚至可能更容易bCNC

在主目录的顶部bCNC.py,您需要添加basestring如下修复。

替换这个

try:
	import Tkinter
	from Queue import *
	from Tkinter import *
	import tkMessageBox
except ImportError:
	import tkinter
	from queue import *
	from tkinter import *
	import tkinter.messagebox as tkMessageBox

有了这个

try:
	import Tkinter
	from Queue import *
	from Tkinter import *
	import tkMessageBox
	basestring = basestring
except ImportError:
	import tkinter
	from queue import *
	from tkinter import *
	import tkinter.messagebox as tkMessageBox
	basestring = str

你应该看到这个User configurable button
自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352

为了更好地查看命令列表,我编辑了Utils.pyline:761 并更改了它

		self.command = Text(self, background=tkExtra.GLOBAL_CONTROL_BACKGROUND, width=40, height=10)

		self.command = Text(self, background=tkExtra.GLOBAL_CONTROL_BACKGROUND, width=120, height=30)

希望在解决此问题之前这对您有用,但根据 python 文档,3.9 发布时会有更多更改!

如果您进行这些更改,请告诉我您的结果。

从 bCNC.ini 编辑我的拼写错误以反映 linux ~/.bCNC

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
作者
伯纳德 评论了 2020 年 3 月 22 日  

你好@GitHubCaps

抱歉没有早点回答!我终于有时间回到这个。我在代码中实现了您的不同更改,但看起来我有一个路径问题:我主目录中 bCNC.ini 的更改没有出现在命令按钮中。

我一直在计算机上到处搜索 bCNC.ini,但我无法找到它所在的位置:我在按钮 12 上做了一个虚拟命令,我可以看到它,正确存储,但是在哪里?:-)

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者
GitHubCaps 评论了 2020 年 3 月 24 日  

/home/username 是位置,但它可能是隐藏的,因为它是一个点文件。Ctrl+H 将取消隐藏目录中的文件。实际名称是 .bCNC,如 /home/{user}/.bCNC 希望对您有所帮助。我相信 Windows 有 .ini 扩展名,据我所知,Linux 上没有。您也可以尝试在文件管理器的地址栏中键入 ~/.bCNC。

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
作者
伯纳德 评论了 2020 年 3 月 24 日 通过电子邮件
自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者

对于造成的混乱,我深表歉意,我的错是在不属于它的地方添加了 .ini 扩展名!

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
作者
伯纳德 评论了 2020 年 3 月 24 日  

不用担心!现在我有东西可以玩了……之前,我看不到宏的文本,因为它没有加载,因为评论中的法语撇号,就像这里:
“On doit forcemment trouver, puisque c’ est de là qu’on vient”
以前似乎不是问题,但很容易解决:将我的评论改为英文… :-)

一旦我检查它确实按预期工作,我将创建更多探测宏。

我希望能够在关闭该主题之前进行这些测试,如果可以的话?

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者

没问题。在我对主分支进行更改之前,我也会感谢您对此的想法。我已经解决了很多错误,但宁愿先做更多的测试。

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者

如果您有问题,请随时发布您的宏,以便我进行测试,希望能为所有人解决问题。

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
作者
伯纳德 评论了 2020 年 3 月 24 日  

我有第一个错误“basestring is not defined”。

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352

我已经按照您的建议修改了 bCNC.py:

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352

在那之后,我基本上所有的变量名都出错了。宏本身与您已有的相同。

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者
GitHubCaps 评论了 2020 年 3 月 24 日  

注释掉添加的两个 basestring 行。在上面放置一个单独的 try/except 块。

try:
    basestring
except (NameError, AttributeError):
    basestring = (str, bytes) # pylint: disable=redefined-builtin,invalid-name,basestring-builtin

我现在在用手机,所以无法进行适当的编辑。如果您要复制代码,请确保将 4 个空格替换为实际的制表符。如果您不确定,请深入 pyfile 中的代码并复制并粘贴一个实际制表符来代替 4 个空格。我希望这是有道理的。

编辑以添加 AttributeError 和 basestring-builtin。也未必能行!
请注意,可能只是做一个 if/else 可能会更好……

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者

最后一个 basestring = str
也可以是:

basestring =(海峡,字节)

可能没有必要,但也不会造成伤害

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者

我在上面做了另一个编辑以反映更好的尝试方法。NameError 可能会有所帮助。

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者

根据您使用的解释器,例如 pylint,可能会引发错误并导致问题。

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
作者

同样的错误,即使在实施了您建议的修改之后。我知道我的路径中有 pylint,我将从我的路径中删除这个文件夹(我在 Ubuntu 18.04 上,如果它有帮助的话)

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者

你不必那样做,我只是为 pylint 添加了另一个修复程序。它是定义变量之后的注释,见上文。谢谢

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
作者

刚看到这个。我应该把它放在哪里?

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者

如果你问的是 try/except,就在 tkinter 在其自己的 try/except 块中导入的位置的上方或下方。只需删除您首先放置的 basestring 条目

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
作者

不,我问的是 # For Python 3, pylint: disable=redefined-builtin,invalid-name
似乎我必须像你一样把它作为评论?

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者

是的,正是

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者

还要确保检查您的配置文件没有以任何方式损坏。我忘了说你应该事先复印一份,只是觉得你会

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
作者

同样的错误。哪个配置文件?抱歉,之前没有做任何备份。

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
作者

今天要停下来,明天会回来的。感谢您的帮助!

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者
GitHubCaps 评论了 2020 年 3 月 24 日  

没问题,你的配置 ~/.bCNC
你可以从你的常规终端启动 bCNC:
python3 -m bCNC -d
看看是否有帮助。对我来说,它是命令行中的python3.8

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者

只是觉得我应该提到这一点,因为您可能不担心与 python2 保持向后兼容性,只需摆脱那个 try/except(如果需要,请注释掉)并搜索 basestring。文件中只有一个实例,将其替换为 str。只需这三个字母就可以解决您的问题。有时处理这些变化真的很痛苦,据我所知,它只用于用户输入的输入框,这当然是你的宏工作所需要的。

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
作者

我这样做并进行了测试;同样的错误。我在其他地方搜索并找到了 basetring:tkExtra.py 中的第 3080 行,但随后它触发了另一个异常“TypeError: can only concatenate str (not “bytes”) to str

我不太了解 bCNC 和 Python 来解决这个问题。

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者
GitHubCaps 评论了 2020 年 3 月 24 日  

只需返回这里的回购协议,检查为什么我的 tkExtra.py 文件中没有 basestring。事实证明,他们针对我的文件中没有的问题#1314 #1310进行了修复。好吧,这显然不是正确的解决方案,我会再次进行比较,看看我的有什么变化,并找到更好的解决方案

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者
GitHubCaps 评论了 2020 年 3 月 24 日  

在 tkExtra.py 中,注释掉以下行:3079、3080、3081、3082、3085、3086、3087、3088、3089。复制第 3085 行并将其粘贴到第 3084 行下,然后将:替换tmpstr =return. 一定要取消注释。我不知道为什么你的解释器拒绝使用重新定义的内置函数,但这显然不是一个适用于所有人的解决方案,很高兴知道

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者

顺便问一下,它是否告诉您TypeError发生在哪个文件和行中?

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
作者

对于 TypeError,我有很长的回溯:
自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352

我现在要测试你的修改。

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
作者

%%_distmvt = float((0.5 * _flong) + 10.0)仍然给我同样的错误。我不明白的是为什么 0.5 被视为一个序列。

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者

这很奇怪,我一直在我的身上运行它。我将不得不做更多的检查,但可能要到明天才能完成,今天剩下的时间就要离开城镇了。

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
作者

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
作者

没关系,这个可以等。已经很久了。我非常感谢你的帮助。

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者

也许尝试删除我在文件中的评论,看看是否有帮助

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
作者

好的。祝你周末愉快。

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者

谢谢,你也是!

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者

哦,是的,当我在想的时候,一定要把分号也去掉,以确保

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
作者

删除注释,关于无法将 float 乘以序列的错误

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者
GitHubCaps 评论了 2020 年 3 月 29 日  

bCNC_userConfigFile.ini.zip
试试这个,最后一分钟编辑一两次
我把浮点数放在浮点数里面,不得不删除变量语句末尾的注释
%%_distmvt = float(0.5 * float(_flong)) + 10.0

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
作者

好多了!仍然有一些不正常,但它可能是我在宏中的错误。需要调查一下,但至少看起来我们越来越近了……

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者

只需注意您的终端中发生的事情,我已经为我们的调试目的提供了很多信息(可能太多)

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
作者

是的,我确实仔细检查过。是的,它有很多信息……但这很好。

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者

是的,我想我最终会放一个标志来打开/关闭它

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
作者

好吧,至少代码现在正在执行,没有任何错误。我肯定至少有一个错误,我的打印语句有助于解决这个问题。很高兴看到表达式是如何求值的。
明天我会继续努力,我相信它最终会成功……

一旦我让这个宏做我想做的事,我就会在 gcode 文件中进行测试……(现在,它只是它应该是的一半,因为我只评估长度的中间点,但它也必须在宽度上工作……)

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
作者

你能提醒我“wx”应该是什么吗?最后一个 X 坐标?
我知道我在某个地方读到过这个,只是现在找不到了。

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
作者

我得到了 wx 的值,但它似乎不正确。

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
贡献者

Hmm, believe it is work space coordinates vs. machine coordinates

自上次更新 (0.9.14.303) 以来宏出现严重问题 #1352
Author
喜欢 (0)