【发布时间】:2015-12-24 10:07:15
【问题描述】:
我有一个基于 Python 的网络应用程序,我正在尝试将其打包为 setuptools 包,以便可以使用 pip 和/或 python setup.py xxxxx 安装它。此 Web 应用程序还包含用于 React 前端的静态文件。我使用 webpack(因此也使用 node.js)为网站生成 JavaScript 包。我试图找出最pythonic的方式来打包它。通过谷歌搜索,我发现nodeenv 似乎相关。
理想情况下,我希望这个包具有以下特征:
当与
pip install或python setup.py install一起安装时,它不应安装node和webpack,但安装的包应该包含webpack输出。webpack生成的输出应该不需要检查到源代码库中。 (即它需要在打包过程中的某个时刻生成。)当通过
pip install -e或python setup.py develop设置包进行开发时,它应该安装node和webpack(我怀疑前面提到的nodeenv将是在这方面很有用。)此时也应该运行webpack,这样之后webpack生成的内容就存在了。如果这很简单,如果
webpack可以在 virtualenv 激活时以“监视”模式启动,并在它被停用时停止,那也是很酷的(但这完全 一个延伸目标。)
考虑到这些要求,我的预感是我需要将sdist 命令子类化,以便在源代码分发生成时生成 webpack 输出。我也猜想我需要继承 develop 命令来注入仅用于开发的需求。
这似乎是一座必须有人曾经走过的桥。有没有人指点一下?
【问题讨论】:
标签: python node.js reactjs setuptools webpack