多语言库的python位的文件布局和setuptools配置

2024-06-25 22:37:13 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我们正在编写一个全文搜索框架MongoDb。MongoDB几乎是javascript本机的,所以我们首先编写了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。在

什么样的工具来处理这种设置?我可以想出如何使用package_data等来安装驻留在python项目as per the setuptools docs中的数据文件。在

问题是如果我想使用setuptools来安装一些东西,包括python代码树之外的javascript文件,然后在开发python代码时以及在将其easy_install添加到某人的站点时,以一致的方式访问它们。在

这是否支持setuptools的行为?我应该使用摊铺机或distutils2或Distribute之类的吗?(基本distutils不是一个选项;我这样做的全部原因是为了支持需求跟踪)我应该如何将这些文件的内容读入python脚本?在


Tags: 文件项目函数py框架docssearchmongo
1条回答
网友
1楼 · 发布于 2024-06-25 22:37:13

简单的回答是,没有一个Python分发工具可以按照您想要的方式来做您想要的事情。即使您使用distutils的data_files特性,您仍然需要将javascript文件复制到Python项目目录中(即,在与您的设置.py。)

鉴于此,您还可以将.js文件复制到您的包中(即与mongofulltextsearch/init.py一起),作为构建过程的一部分,并使用package_data或include_package_data=True。在

(或者,如果您的修订控制系统支持符号链接、外部符号或其他类似的符号链接,也可以使用它们。我相信在构建源代码发行版时,Python发行版工具会将符号链接转换为真实的文件。至少,你可以试试看。)

相关问题 更多 >