我有一大块用 Python 2.7 编写的代码。我的最终目标是在 Python 2 和 3 中都有工作版本,它们都可以通过 pip 安装并在 GitHub 上可用。这方面的标准做法是什么?
我所做的一切mypackage
- 运行
2to3
包,它给了我两个不同版本的代码(Python 2.7 和 3.4) - 接受将新功能添加到 3.4 而不是 2.7 的约定,尽管错误修复将被推送到 2.7
setup.py
为两者创建脚本mypackage
使用 Python 3.4 = 1.0 版和 Python 2.7 =mypackage
0.9版上传到 pip 。- 将 3.4 版本上传到 GitHub,但添加了一个文件夹
python27
,其中包含 Python 2.7 代码
所以现在你可以pip
分别安装 3.4 和 2.7 版本了
> pip install mypackage
> pip install "mypackage < 1.0"
这一切似乎令人费解。问题:
- 执行此操作的标准方法是什么?
- 我真的需要两个不同版本的代码吗?
six
几年后,由于依赖原因,我有点犹豫要不要使用。 - pip 是否足够聪明,可以根据它所绑定的 Python 版本下载正确的 Python 版本?
- 在 GitHub 上如何处理这个问题?代码的两个版本使这变得困难。