0

所以我正在制作一个 Flask 应用程序,我正在使用 pip 和 requirements.txt 管理 Flask 和一些必要的插件。但是,我的应用程序也使用了来自 Github 的几个 jQuery 和 JS 项目。

以与其他 Python 包相同的方式处理它们将非常简单——在 requirements.txt 中列出它们的 git URL 并在给定标记处克隆该存储库。当然,问题是这些非 python 项目没有 setup.py 文件。

即使没有 setup.py,是否可以将 pip 配置为简单地将这些 repos 克隆到特定路径中?或者你有另一种推荐的方法来处理这个问题吗?

4

3 回答 3

4

在某种程度上这是可能的。对于 jQuery,这很容易,因为有人已经为它准备了包:https ://pypi.python.org/pypi/django-jquery 。

对于 Github 上的其他 JS 项目,您实际上必须分叉它们,并创建一个合适的 setup.py 文件,然后将它们上传到 pypi.python.org。

我没有任何这样做的经验,所以我不确定 python 社区在使用他们的打包工具打包非 python 软件时是否会有任何问题。在 django-jquery 案例中,他们添加了一些 django 胶水,使其易于在 django 项目中使用。

于 2013-08-15T08:26:31.367 回答
3

有一个fanstatic包可以做到这一点。

fanstatic有一个预打包的库列表,可以在这里找到。这些包基本上是一些流行的 javascript/css 库的端口,带有setup.py.

它确实有jquery和大多数有用的插件,, knockout, knockback, underscore, yui, bootstrap, d3...backbone

其中大部分都是pypijs.<libraryname>.

于 2014-07-23T19:40:59.310 回答
1

不,除了 python 发行版,你不能pip用来安装任何东西。

使用其他安装工具;buildout可以使用名为 recipes 的 Python 扩展来管理 Python 发行版其他安装任务。

或者,您可以将 jQuery 依赖项打包为 python 分发,但这样的分发将非常紧密地绑定到您的应用程序。Plone 社区确实这样做了,但它们包括 Plone CMS 的配置,以将库集成到他们的注册表中;例如plone.app.jquery包的内容不仅包括 jQuery。

于 2012-10-15T08:34:50.730 回答