-2

我有一大块用 Python 2.7 编写的代码。我的最终目标是在 Python 2 和 3 中都有工作版本,它们都可以通过 pip 安装并在 GitHub 上可用。这方面的标准做法是什么?

我所做的一切mypackage

  1. 运行2to3包,它给了我两个不同版本的代码(Python 2.7 和 3.4)
  2. 接受将新功能添加到 3.4 而不是 2.7 的约定,尽管错误修复将被推送到 2.7
  3. setup.py为两者创建脚本
  4. mypackage使用 Python 3.4 = 1.0 版和 Python 2.7 = mypackage0.9版上传到 pip 。
  5. 将 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 上如何处理这个问题?代码的两个版本使这变得困难。
4

1 回答 1

0

不可以。如果您在同一环境中有 python 2 和 3,则需要使用pip2or pip2.7forpython2pip3or pipforpython3

或者在每个环境中调用 pip 作为模块

  • py -3.4 -m pip install mypackage
  • py -2.7 -m pip install mypackage
于 2017-03-24T17:49:50.823 回答