在Pip上管理多个版本?

时间:2020-05-19 19:35:43

标签: python pip package

我正在PyPI上维护一个Python包,该包使用Python 3.7+,该包使用类型提示和f字符串。但是,我还希望有适用于Python 3.4及更高版本的代码的单独发行版。我不想删除所有的类型提示,那么维护和开发这两个单独的版本的最简单方法是什么?

我目前唯一想到的方法是分别标记我的发行版,例如v1.0-3.4v1.0-3.7。但这是否意味着每当我向v1.0-3.4发行新版本时,下载最新版本的每个人都将获得3.4版本,而不是3.7版本?

我基本上想发生的事情是:

  • 使用Python 3.4至3.6的人员-> pip install <my-package>为他们提供了我的代码的3.4版本。
  • 使用Python 3.7+-> pip install <my-package>的人员为他们提供了我的代码3.7+版本。

目前,我正在通过自动化工具实现这一目标。我的所有文件都有一个src/目录。在src/之外,我有一个setup.py,它接受一个包并将其包装以进行分发。

要获取3.4代码,我运行了一个自动化脚本,该脚本会自动删除所有类型提示并将f字符串转换为格式字符串,以及删除/更改我指定的一些特定行。我的项目只有几个文件,因此我不担心将来会同时维护两个版本。然后,它会生成一个src_build/文件夹,该文件夹与src/个文件相匹配。

因此,这些软件包完全相同,除了一个适用于3.4+的作品和一个适用于3.7+的作品。我想保留两者的原因是因为3.7允许用户键入代码,并支持一些额外的功能(通用的元组解包,f字符串等),而3.4则可以满足以前的Python版本。

我刚开始在Pip上发布软件包,因此进行任何澄清将非常有用。

谢谢!

0 个答案:

没有答案