【问题标题】:Can I transpile python 3.7 code to a lower version?我可以将 python 3.7 代码转换为较低版本吗?
【发布时间】:2019-11-21 07:14:12
【问题描述】:

在基于 python 的项目中,我想使用特征数据类和库,例如当前的 RxPY 版本。

但是,我们绑定到只有 Python 3.5.5 的环境(Yocto 系统)

从 TypeScript/JavaScript 我知道有些语言允许将代码转换为较低的语言版本。

可以将 Python 3.7 代码转译为较低版本吗?

非常感谢

【问题讨论】:

  • Python 根本没有编译,所以我不确定你在说什么。代码可能需要稍作调整才能与较低版本的 python 3 一起使用。为什么不尝试一下,看看哪里出错了?
  • 您好,Ofer,感谢您的快速回答。也许这是与术语相关的事情,“编译”不是正确的词。我想使用 Python 3.7 版中的数据类。在 JavaScript 中,我会使用像 Babel 这样的工具将我的代码重写(“转译”)为较低 ECMAScript 版本的语法。我希望 Python 也有这样的工具。我会调整帖子的标题以避免混淆。

标签: python-3.x compatibility transpiler rx-py


【解决方案1】:

您不能只使用工具将 Python 代码转换为早期版本,因为这些版本有时会缺少您需要的库。使用 Python 3.7 的数据类就是一个很好的例子。

一种解决方法是在 3.5 环境中重新安装一个数据类端口。这会很棘手。如果你有 python 3.6 你可以通过install this

pip install dataclasses

但是您可以在this issue 中看到他们从未将其移植回 python 3.5。如果您查看他们的 GitHub,也许您可​​以对源代码进行手动更改以使其正常工作。也许吧。

更简单的方法是找到数据类的替代方法

【讨论】:

  • 好的,这对我来说很清楚。谢谢,Ofer。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-29
  • 1970-01-01
  • 2023-03-31
  • 2019-10-31
相关资源
最近更新 更多