我们可以在python 3.5下运行传统的python 2.7代码吗?(Can we run legacy python 2.7 code under python 3.5?)

编程入门 行业动态 更新时间:2024-10-27 16:25:26
我们可以在python 3.5下运行传统的python 2.7代码吗?(Can we run legacy python 2.7 code under python 3.5?)

我想升级到python 3.5,但我使用的是旧版python 2.7软件包。 在python 3.5中运行遗留包是否容易? 我一直认为这不容易,但我做了一些搜索,看看我是不是错了,并没有提出太多。

我希望有一个多处理软件包允许3.5代码和2.7软件包之间的标准化切换,允许它们在自己的环境下独立运行,但与开发人员有点无缝。

我不是在谈论将我自己的代码转换为3.5,我说的是我使用的库,不会更新或由我更新。

I'd like to upgrade to python 3.5, but I use legacy python 2.7 packages. Is it easy to run legacy packages in python 3.5? I have been under the impression that this isn't easy, but I did a few searches to see if I'm wrong and didn't come up with much.

I would expect there to be a multiprocessing package that allows standardized hand-offs between 3.5 code and 2.7 packages, allowing them to run independently under their own environments, but being somewhat seamless to the developer.

I'm not talking about converting my own code to 3.5, I'm talking about libraries that I use that won't be updated for or by me.

最满意答案

如果您使用2.7支持的较新语法,例如围绕异常,和/或更好地使用从__future__导入的新功能,您可以更轻松地将代码转换为Python 3(最多不做任何更改) 。 我建议首先遵循这条路径,因为它可以逐步进行,而不会突然跳转到Python 3。

我认为具有不同版本的Python进程可以互操作,因为对象酸洗格式是兼容的,并且您可以明确地使用双方的特定酸洗协议版本来确保这一点。 不过,我认为任何一方的multiprocessing软件包都不会太有用。 考虑使用例如ZeroMQ作为更通用的解决方案。

If you used the newer syntax supported by 2.7, e.g. around exceptions, and/or, better yet, worked with new features imported from __future__, you'll have much easier time converting your code to Python 3 (up to no changes at all). I'd suggest to follow this path first, for it can be trod gradually, without an abrupt jump to Python 3.

I suppose Python processes with different versions can interoperate, because object pickling format is compatible, and you can explicitly use a specific pickling protocol version on both sides to ensure that. I don't think multiprocessing packages on either side would be too useful, though. Consider using e.g. ZeroMQ as a more general solution.

更多推荐

本文发布于:2023-07-15 19:11:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1117660.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:我们可以   传统   代码   python   legacy

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!