`build`阶段应该在setuptools中发生在哪里?

时间:2016-10-21 00:16:18

标签: python node.js django setuptools

这是一个关于 setuptools 的问题,并为Web应用程序创建了一个python发行版。

上下文

这是一个django项目,我们通过私人pypi分发给我们自己,而不是外部用户(尚未)。目前我们运行python setup.py sdist来创建发布,然后将其上传到我们的pypi。我怀疑它只是源代码的副本,作为tar.gz.我们检查来源进行开发。我们不通过pip安装dev(也许我们应该?)。

最近该项目已开始使用nodejs。现在,这意味着我们现在需要进行“构建”来创建不属于源代码的新文件,但需要进行部署。构建过程需要一堆节点包,这些节点包不是Web服务器最终部署的必要或所需部分。

通过the packaging documentation阅读,它描述了sdist的{​​{1}},bdist_wheeldevelop目标,但我不清楚如何应用这些目标对我们的情况。

问题1

当我们从我们的pypi拉出来时,我们应该拉什么?

  • 网络服务器的预构建可部署代码版本,没有源代码?或

  • 我们运行其他东西的代码,用于构建和安排需要的东西?如果是这样,相应的setup.py目标是什么(sdist,bdist_wheel,一个新的自定义目标)?

问题1(换句话说)

我们应该何时以及如何运行构建?

要“构建”应用程序,我们运行nodejs-javascript脚本,例如:setup.pynpm installless x y x或python,将源文件转换为可部署文件的脚本。我们不希望在Web服务器上使用这些东西。

讨论

因此,一般来说,正如您所知,首先我们对何时将源文件转换为分发文件感到困惑。第二,如何实际实现: subprocess 从子类webpack -p调用shell脚本?!?

我们不希望将成品推送到pypi,因为我们创建构建的所有位和bob都不会以整齐的setuptools.command中心方式捕获和自动化。那么我们何时,何地以及如何将构建过程合并到我们的setuptools发行版中呢?

*注意:对我们使用tox

的内容/地点添加更多疑惑

0 个答案:

没有答案