所以我们正在编写一个全文搜索框架MongoDb。MongoDB 几乎是 javascript-native,所以我们首先编写了 javascript 库,它可以工作。
现在我正在尝试为它编写一个 python 框架,它将部分在 python 中,但部分使用那些相同的存储 javascript 函数 - javascript 函数是库的固有部分。另一方面,javascript 框架不依赖于 python。由于它们相互交织在一起,因此将它们保存在同一个存储库中似乎是值得的。
我正在尝试找出一种构建整个项目的方法,以赋予 javascript 和 python 框架同等的地位(可能是 ruby 驱动程序或将来的任何东西?),但仍然允许 python 库很好地安装。
目前它看起来像这样:(简化了一点)
javascript/jstest/test1.js
javascript/mongo-fulltext/search.js
javascript/mongo-fulltext/util.js
python/docs/indext.rst
python/tests/search_test.py
python/tests/__init__.py
python/mongofulltextsearch/__init__.py
python/mongofulltextsearch/mongo_search.py
python/mongofulltextsearch/util.py
python/setup.py
为简单起见,我跳过了一些文件,但你明白了一般的想法;这是一个非常标准的python项目......除了它关键地依赖于存储在同级目录树中的一大堆javascript。
当涉及到 setuptools 时,处理这种事情的首选设置是什么?根据 setuptools 文档,我可以弄清楚如何使用package_data
etc 来安装存在于我的 python 项目中的数据文件。
问题是如果我想使用 setuptools 安装东西,包括来自 python 代码树之外的 javascript 文件,然后在我开发 python 代码以及将其easy_install
编辑到某人的站点时也以一致的方式访问它们。
这是setuptools 支持的行为吗?我应该使用 paver 或 distutils2 还是 Distribute 或其他什么?(基本的 distutils 不是一个选项;我这样做的全部原因是启用需求跟踪)我应该如何将这些文件的内容读入 python 脚本?