开源改变世界

qtvcp需要用python3测试 #819

推推 grbl 2年前 (2023-01-30) 143次浏览
关闭
rene-dev 打开了这个问题 2020 年 5 月 3 日 · 41 条评论
关闭

qtvcp需要用python3测试#819

rene-dev 打开了这个问题 2020 年 5 月 3 日 · 41 条评论

注释

qtvcp需要用python3测试 #819
合作者

qtpyvcp 需要用 python3 测试,这应该是一个容易的任务。
运行 2to3 -w 应该可以解决大部分语法问题。

qtvcp需要用python3测试 #819
合作者

好的,Rene 听起来不错。- 我会尽快解决这个问题。

qtvcp需要用python3测试 #819
贡献者

你好
今天测试了最新的主人并设法修复了规则
让一切正常

太感谢了 !

qtvcp需要用python3测试 #819
贡献者

很好有一些问题但解决它们

qtvcp需要用python3测试 #819
贡献者

https://github.com/kcjengr/qtpyvcp/tree/Python3

安装

pip install --upgrade -e .
qtvcp需要用python3测试 #819
贡献者

你好,

设法修复了更多错误,但在文件加载时收到一条奇怪的消息,可能来自佳能

PYTHON: exception during 'this' export:
ImportError: 'interpreter' is not a built-in module
qtvcp需要用python3测试 #819
贡献者

qtvcp需要用python3测试 #819

qtvcp需要用python3测试 #819
贡献者

设法修复了更多错误,但在文件加载时收到一条奇怪的消息,可能来自佳能

PYTHON: exception during 'this' export:
ImportError: 'interpreter' is not a built-in module

有一个单独的问题#825

qtvcp需要用python3测试 #819
贡献者

设法修复了更多错误,但在文件加载时收到一条奇怪的消息,可能来自佳能

PYTHON: exception during 'this' export:
ImportError: 'interpreter' is not a built-in module

有一个单独的问题#825

谢谢

qtvcp需要用python3测试 #819
合作者作者

这个 PR 开始:#934

qtvcp需要用python3测试 #819
贡献者

@rene-dev我是否误解了 qtpyvcp 和 qtvcp 不是一回事?是否应该为每个问题单独制作一个问题?或者应该将这个重新命名为 qtvcp 并让 qtpyvcp 项目处理它自己的问题?

qtvcp需要用python3测试 #819
合作者作者

我无法回答这个问题,我从来没有在 linuxcnc 中使用过任何 QT 东西。

qtvcp需要用python3测试 #819
贡献者

我可以将它移植到 python3 但遗憾的是我不能让它同时为 python 2 和 3 工作

qtvcp需要用python3测试 #819
合作者作者

我的建议是在 master 中更新到 python3,2.8 之后的下一个版本实际上不能支持 python2。
如果 QT 与 python3 一起工作,为什么不在 master 中使用它。

qtvcp需要用python3测试 #819
合作者

qtpyvcp 是一个单独的项目。我不认为这里是解决他们问题的地方,除非他们在 linuxcnc 中需要不同的功能才能正常工作。

至于 python3 和 qtvcp – 我同意 python3 仅适用于 master,只要我能让它运行/测试一下。(应该不会太长)

qtvcp需要用python3测试 #819
合作者作者
再生开发 评论了 2020 年 8 月 28 日  

啊,我不知道。为什么我们需要 2 个 qt python 实现?他们有什么不同?
这个问题是针对与 linuxcnc 捆绑在一起的问题。

qtvcp需要用python3测试 #819 rene-dev 更改了标题 qtpyvcp 需要用 python3 测试 qtvcp需要用python3测试 2020 年 8 月 28 日
qtvcp需要用python3测试 #819
贡献者

如果我理解正确的话,qtvcp 使用 gtk 信号,而 qtpyvcp 使用 qt 信号。

qtvcp需要用python3测试 #819
合作者

有没有办法检测编译的 python linuxcnc 版本?也许是一个环境变量。
如果可能的话,我想让 qtvcp 与两个版本一起工作。

qtvcp需要用python3测试 #819
合作者作者

在发布版本上我不知道如何。
我不建议使用 python2,它的 EOL 自 9 个月以来,新的发行版甚至没有任何 python2 包。
让我们将所有资源用于未来。

qtvcp需要用python3测试 #819
合作者

我真的需要同时支持两者。buster 可以在 python2 支持下进行编译,当然人们可以将旧版本与 master 一起使用。如果我现在将我的 python3 only 代码添加到 qtvcp,我会破坏人们的配置。
我不认为同时支持这两个版本的负担太重,但我需要一种简单的方法来检查哪个版本。
环境变量集可以正常工作。
必须有一种方法来记录用于编译的 python 版本。

qtvcp需要用python3测试 #819
合作者

andypugh:我会看看我是否能让这项技术奏效——谢谢

qtvcp需要用python3测试 #819
合作者

我们可以让 Python3 成为 Master 的依赖。所有支持的平台都可用。

qtvcp需要用python3测试 #819
合作者

问题不是 python3 不可用,而是它是一个全有或全无的交易。现在,如果您使用 python2,一切正常。对于 python3 还不是真的,你不能同时运行两者。

qtvcp需要用python3测试 #819
合作者作者

什么不适用于 python3?切换 python 版本不一定会破坏配置。我们需要在某个时候进行切换。

qtvcp需要用python3测试 #819
合作者

我相信 gladevcp,是不是还没有转换?
如果仍然如此,那么如果您使用 gladevcp/gscreen/gmoccapy 和 qtvcp,切换 python 版本将破坏配置。
这包括在 AXIS 中使用 gladvcp 面板。
python 重新映射是否可以在任何一个 python 版本中工作而无需更改?

qtvcp需要用python3测试 #819
合作者作者

我有一个 glade 工作的分支,conveted to gtk3。所有的小部件都可以工作(gremlin 仍然是 wip),它是需要工作的 gladevcp UI。不多,每个 ui 大概一个周末。

qtvcp需要用python3测试 #819
合作者

那么这证实了我的观点。
buldbot 是否使用编译的 python3 构建二进制文件?我不这么认为。
您准备好从构建系统中删除 python2 了吗?

我的观点是 linuxcnc 还没有完全准备好 python3 – 即使它已经准备好,它仍然可能会破坏配置。
我不想无缘无故地破坏配置,除非它是——如果我能合理地帮助它的话。

无论如何,如果 sys.version_info.major > 2,我似乎可以从代码中获取 python 版本:

qtvcp需要用python3测试 #819
合作者

我认为 Python2 正式结束、结束、死亡和埋葬这一事实足以成为放弃它的充分理由。

我认为我们应该宣布 Master/2.9 将仅支持 Py3。那时你可以停止尝试在 Master 中支持 Py2。

我不希望 2.9 是 2.8 之后的 7 年。如果接近 6 个月,我不会感到惊讶。Master 现在可能比一年前的 2.8 更容易发布。

qtvcp需要用python3测试 #819
合作者

好吧,当 master实际上只能是python3时,这才有意义。
这是先有鸡还是先有蛋的事情。在 linuxcnc 完全支持 python3 之前,我不会仅合并 python3 qtvcp。
但是当它支持两者时我会合并它 – 然后我可以继续开发并且它不会破坏使用 python2 的人的配置。

我真的不明白 python2 的问题——我们有 buster,所以它可以同时支持这两者,所以工作已经完成。
现在 python3 的工作几乎已经完成,那么在下一个发行版中您将不必为 python2 进行工作,因为 oython3 的工作已经完成并且经过了良好的测试。
至少目前我没有看到破坏 buster 中 master 配置的原因。

在我们讨论这个的时候,我有 qtvcp 的主要部分在 python2 和 python3 上工作——它真的没有那么难。

我觉得这次master 6个月实在是太快了。- 好吧,我想这取决于六个月从什么时候开始:)

qtvcp需要用python3测试 #819
合作者

6个月现在开始。2.8 版本正在上传。

qtvcp需要用python3测试 #819
合作者
gmoccapy 评论了 2020 年 9 月 5 日 通过电子邮件
qtvcp需要用python3测试 #819
合作者

一旦 master 实际上是 python3,那么 qtvcp 将只是 python3,我会很高兴。
python2 和 3 的负担(到目前为止)并没有太大。
linuxcnc 中的事情似乎总是比我们喜欢的要花更长的时间。

正如我提到的,我不相信 buildbot 甚至会生成 python3 二进制文件 – 那么为什么我要让 qtvcp 在它们生成之前无法使用?

qtvcp需要用python3测试 #819
合作者作者

buildbot 确实使用 python3 运行测试,但目前没有包。
http://buildbot.linuxcnc.org/buildbot/builders/1660.rip-buster-python3

sys.version_info.major 确实为您提供了正在运行的解释器的版本,而不是 linuxcnc 编译时使用的版本。重要的区别,你不能加载在一个版本中编译的 linuxcnc/hal 模块到另一个版本!

是的,仍然存在一些问题,但我们最好现在解决它们,而不是在 2 年内。

qtvcp需要用python3测试 #819
合作者
gmoccapy 评论了 2020 年 9 月 5 日 通过电子邮件
qtvcp需要用python3测试 #819
贡献者

现在,随着版本控制系统的完全中断,该程序是一个重大变化。通常在 major.minor.patch 中进行版本控制。因此,在这种情况下,master 只转向 python 3 不是一个重大变化,也应该转向 3.0.0 吗?

qtvcp需要用python3测试 #819
合作者作者

到目前为止,大多数次要版本都破坏了配置。仅仅改变 python 版本并不一定会破坏配置。师父无论如何也靠不住。

qtvcp需要用python3测试 #819
贡献者
西蒙阿莫林 评论了 2020 年 9 月 17 日  

@rene-dev,@satiowadahc有一点,如果新版本不向后兼容,则应增加主要版本(请参阅https://semver.org/特别是https://semver.org/#how-should-i-handle-deprecating – 功能)。

到目前为止,次要版本的颠簸已经破坏了配置,这对于任何没有深入 linuxcnc 知识的用户来说都是一个危险信号,因为升级次要版本应该以增量方式完成。
例如,从 2.7.x 升级到 2.8.x不需要对配置进行任何更改,并且在 2.7.x 中工作的任何配置都应该在 2.8.x 中开箱即用,知道你只是不会’不要使用 2.8 中实现的任何功能(我不知道这次升级是否破坏了配置,只是以它为例)。

现在,如果同时支持两个版本,则添加 python3 支持可以是增量更改,这意味着您可以在 linuxcnc 世界中同时为 py2 和 py3 编写脚本,但是一旦删除 python2 支持,您re breaking the incremental changes 所以我同意@satiowadahc,此时 linuxcnc 应该移至 3.0 版。

qtvcp需要用python3测试 #819
合作者作者

这不是过去 linuxcnc 版本的工作方式,第二个数字更改的大多数版本需要配置更改,最后一个数字仅用于错误修复。
回到主题,我的论点是:

  • 不能期望 master 不会破坏配置,这就是发生变化的地方
  • 仅更改 python 和 gtk 版本不会破坏配置,除非您有自定义 UI 或 python 的东西。
qtvcp需要用python3测试 #819
合作者

“2”是对 EMC2 的引用,我预计它会一直存在。:-)

qtvcp需要用python3测试 #819
合作者

我认为添加 HAL 时将 emc 的版本设置为 2。这似乎是提升主要版本的一个很好的理由。
可以说强制使用 python 3 也是一个正当理由。Python 在 linuxcnc 中被广泛使用。

Qtvcp 现在可以与 python2 和 3 一起使用,具体取决于 linuxcnc 的编译方式。
我认为你可以关闭这个问题——以后发现的任何问题都可以单独打开。

qtvcp需要用python3测试 #819
合作者作者

我今天测试了它,似乎一切正常。谢谢!