为不同版本的Python创建一个pip包

时间:2017-03-24 13:45:44

标签: python github pip six

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

我为mypackage

做了什么
  1. 跑出2to3包给我两个不同版本的代码(Python 2.7和3.4)
  2. 采用了将新功能添加到3.4而不是2.7的约定,尽管错误修复将被推送到2.7
  3. 为两个
  4. 创建了setup.py个潦草
  5. 使用Python 3.4 = mypackage版本1.0和Python 2.7 = mypackage版本0.9上传到pip。
  6. 将3.4版本上传到GitHub,但添加了一个文件夹python27,其中包含了Python 2.7代码
  7. 现在您可以pip分别使用

    安装3.4和2.7版本
    > pip install mypackage
    > pip install "mypackage < 1.0"
    

    这一切似乎都令人费解。问题:

    • 这样做的标准方法是什么?
    • 我真的需要两个单独版本的代码吗?几年后,我因为依赖性原因而使用six时有点犹豫不决。
    • 是否足够智能下载正确的Python版本,具体取决于它与哪个Python版本相关联?
    • 如何在GitHub上处理此问题?代码的两个版本使这很困难。

1 个答案:

答案 0 :(得分:0)

没有。 如果您在同一环境中使用python 2和3,则需要pip2使用pip2.7python2 {}} pip3pip <{1}} < / p>

或者将pip称为每个环境中的模块

  • python3
  • py -3.4 -m pip install mypackage