使用pip和requirements.txt安装非Python存储库

时间:2012-10-15 08:32:28

标签: jquery python git github pip

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

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

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

3 个答案:

答案 0 :(得分:4)

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

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

我没有这方面的经验,所以我不确定python社区是否会使用他们的打包工具来打包非python软件。在django-jquery案例中,他们添加了一些django胶水,以便在django项目中使用。

答案 1 :(得分:3)

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

fanstatic有一个预先打包的库列表that can be found here。那些包裹 基本上是一些流行的javascript / css库的端口setup.py

它有jquery和大多数有用的插件,knockoutknockbackunderscoreyuibootstrapd3backbone ......

其中大部分已发布 名为pypi的{​​{1}}。

答案 2 :(得分:1)

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

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

或者,您可以将jQuery依赖项打包为python发行版,但是这样的发行版将非常紧密绑定到您的应用程序。 Plone社区确实这样做,但它们包括Plone CMS的配置,以将库集成到他们的注册表中;例如,请参阅plone.app.jquerycontents of the package不仅仅包含jQuery。