python - 在 Python 包中包含 SQLite 扩展
问题描述
我正在编写一个包来检查我从 CSV 文件中获取的信息,我想包含 csv SQLite 扩展,以便能够从非常大的文件中导入信息(我已经使用过 Pythoncsv
模块,与SQLite 扩展),问题是我不知道如何在不setup.py
将其转换为 Python 扩展的情况下将其包含在包中。
这是包分发:
.
├── pyproject.toml
├── README.md
├── setup.cfg
├── setup.py
└── src
├── people_data
│ ├── classes.py
│ ├── people_data.py
│ └── __init__.py
└── sqlite
├── ...
└── ext
├── ...
└── misc
├── ...
└── csv.c
sqlite
包含 SQLite 源代码,我需要它来获取 .csv 扩展名csv.c
。
我的setup.py
样子是这样的(包元数据的其余部分在setup.cfg
:
import setuptools
csv_ext = setuptools.Extension(
name='csv',
sources=['src/sqlite/ext/misc/csv.c'],
libraries=['sqlite3']
)
setuptools.setup(
ext_modules = [csv_ext]
)
使用该代码,我可以编译库并使用 创建一个轮子python -m build
,但扩展名被重命名为csv.cpython-39-x86_64-linux-gnu.so
,我需要调用它才能将csv.so
其加载到 SQLite 中。
(对不起,我的英语不好)。
解决方案
推荐阅读
- sql - 查询没有日期的数据集中的最新 ID
- sql - Apache Pheonix 向索引表添加一个覆盖列
- model - R 代码中的联合纵向生存建模
- python - 创建 Pandas DataFrame 时遇到问题
- azure - 将 Terraform 连接到 Azure Gov
- python - 使用 Pandas 从数据集中列出选定的值
- unit-testing - 为工作 django-rest-framework ViewSet 类型错误编写测试
- python - 根据模式排除数据框中的行(正则表达式?)
- openvpn - OpenVPN 云帐户的 AUTH_FAILED
- android - 获取适用于 Android 的 IAP 收据信息