python - 创建仅包含数据文件的 Python 包?
问题描述
我正在尝试打包具有大量(~100M压缩)数据文件的东西。因为这 a) 超出了 PyPI 的限制,并且 b) 将在每个平台上重复(我已经编译了 C++ 代码),这冒犯了我的整洁感,我想将数据文件拆分到与代码不同的包中。
鉴于数据文件需要与代码 (nb zip_safe=False
) 位于同一目录中,有什么方法可以工作,还是我注定要编写逻辑来在安装时获取文件?
注意:我尝试过创建一个没有 Python 代码的轮子,但由于没有setup.py
在完全独立的构建树中编写完全独立的运行,我无法使用 setuptools 来排除.py
和.so
文件。(packages=[]
似乎实际上什么都不做。)
我的“构建树”看起来像:
setup.py
dist/
...wheels will be written here...
foo/
__init__.py
all.py
bar/
__init__.py
something.cpython.so
data/
...files I want in the wheel...
自然,我glob
使用package_data
. 确切的调用类似于:
setup(...
packages=[],
include_package_data=True,
package_data={
'': [f'../{f}' for f in glob(...)]
})
解决方案
推荐阅读
- python-3.x - 无法覆盖詹金斯管道中的python命令
- three.js - three.js 如何以编程方式从数据集中生成平面
- python - 我想从应用程序中抓取所有元素,但我遇到了 selenium python 问题
- multithreading - 如何使用锁定例程和睡眠功能来摆脱同步的显式障碍?
- sql-server - 将 AND (x OR y) 添加到视图的现有 where 子句不起作用
- angular - 带有参数的数组中的打字稿/角度删除/拼接对象
- python - 在 Tensorflow 2.0 中检查张量的值
- python - 无法在 Windows 上为 Py 3.7 安装 pycurl
- reactjs - CreateContext 挂钩不允许渲染任何其他组件
- docker - 删除 .../docker/overlay2 目录下的孤立文件夹(哈希)是否安全