既然 Python 2 和 Python 3 不兼容,很多 Pypi 包是如何做到既可用于 Python 2,又可用于 Python 3 的?

2015-01-12 16:12:24 +08:00
 kidlj
3391 次点击
所在节点    Python
7 条回复
jiang42
2015-01-12 16:12:42 +08:00
six
Muninn
2015-01-12 16:13:23 +08:00
关键代码写判断呗。。。

有的是用six之类的转换,但是不靠谱。。。
zhicheng
2015-01-12 16:15:25 +08:00
因为可以 import __future__
geeklian
2015-01-12 16:36:58 +08:00
也不是完全不兼容,很多库只是名字的区别,甚至就是大小写区别。if version《3:import XXX as xxx else :import xxx
whtsky
2015-01-12 18:05:33 +08:00
from __future__ import xxx

try:
except:

sys.version_info
anjunecha
2015-01-12 18:15:08 +08:00
这是官方关于 __future__ 的文档 https://docs.python.org/2.7/library/__future__.html
zhyu
2015-01-12 19:03:56 +08:00
建议看看这个 How to write forwards compatible Python code: http://lucumr.pocoo.org/2011/1/22/forwards-compatible-python/

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/161435

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX