如何将python软件包分发给小型企业

时间:2018-09-01 04:05:34

标签: python github anaconda distutils code-sharing

我在一家小型企业工作,在该企业中,最终用户的数量以及为一组特定软件包提供的费用永远不会超过5(这是有保证的)。在过去的三个月中,我们一直在使用anaconda和每个项目的本地git repos在共享的Windows驱动器上进行所有研究和开发。可以想象,最终的源代码变得一团糟,每个人的代码都指向其他人文件夹中的特定程序包,并且依赖项一直在破坏。

我们终于有了一个github存储库,并且我们的许多代码已经变得稳定生产。我想在tarball中分发此代码,并让每个人在共享的anaconda环境中使用disutils从源代码构建。完整的软件包将由每个子软件包组织,并将包含cython和python文件。最终,看起来像这样

|tools
    |setup.py (created with disutils)
    | __init__.py
    |package A (dir)
        |__init__.py
        |module A1.py
        |module A2.pyx

    ....

    |package B (dir)
        |__init__.py
        |package B1.py
        |package B2.pyx

我将把“工具”包放入github仓库中。每当工具包的任何内容发生重大变化时,我们都会从master分支中提取并重新运行setup.py,以使其本地工具包保持最新状态。此外,我们所有人都将使用共享的anaconda环境,以便对外部软件包的依赖不会破坏工具软件包的安装。

这是在少数最终用户中分发生产代码的正确方法吗?我来自研究而非软件开发背景,并且我真的不知道软件分发的工作原理。我们每次更新“工具”包时都过分强迫所有人从源头重建吗?传统上,当我使用conda / pip进行安装时,我只能说“ pip install mypackage --upgrade”。我们可以在这里使用类似的程序吗?

0 个答案:

没有答案