跳转到主要内容

使用CMake编译libmagic的scikit-build项目

项目描述

一个轻量级、最小化的Python包,使用automake、CMake、scikit-build和cibuildwheel提供magic库。

Actions Status Cirrus Status Documentation Status Code style: black

PyPI version PyPI platforms

GitHub Discussion Gitter

为什么?

如果您使用python-magic,您通常会得到这样的错误

>>> import magic
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/kratsg/.pyenv/versions/venv/lib/python3.7/site-packages/magic/__init__.py", line 209, in <module>
    libmagic = loader.load_lib()
  File "/Users/kratsg/.pyenv/versions/venv/lib/python3.7/site-packages/magic/loader.py", line 49, in load_lib
    raise ImportError('failed to find libmagic.  Check your installation')
ImportError: failed to find libmagic.  Check your installation

这令人沮丧,因为它们没有随Python发行版提供共享库。 pylibmagic 通过提供所需的 magic 库并将其添加到您的路径中来填补这一空白,因此您可以简单地这样做

>>> import pylibmagic
>>> import magic

然后继续。 pylibmagic 设计得非常简洁和轻量。

编译

$ docker run -it --rm -v $PWD:/home/root -w /home/root ubuntu
# apt install cmake autoconf automake libtool build-essential git python3-dev python3-pip
# cmake -S . -B build
# cmake --build build

安装

$ python3 -m pip install pylibmagic

并且库安装在这里

$ python -c "import pylibmagic; print(pylibmagic.data)"

发布

要发布,由于并发问题,我们需要在Cirrus CI完成构建后推送标签到主分支。因此,顺序通常是

tbump 0.5.0 --no-tag-push
# wait until Cirrus CI finishes
git push origin v0.5.0
# wait until Cirrus CI finishes
gh release create

有关更多详细信息,请参阅 [cirruslabs/cirrus-ci-docs#1167](https://github.com/cirruslabs/cirrus-ci-docs/issues/1167)。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分布

pylibmagic-0.5.0.tar.gz (13.9 kB 查看哈希值)

上传时间 源代码

构建分布

pylibmagic-0.5.0-py3-none-musllinux_1_1_x86_64.whl (658.3 kB 查看哈希值)

上传时间 Python 3 musllinux: musl 1.1+ x86-64

pylibmagic-0.5.0-py3-none-musllinux_1_1_aarch64.whl (652.9 kB 查看哈希值)

上传时间 Python 3 musllinux: musl 1.1+ ARM64

pylibmagic-0.5.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (619.4 kB 查看哈希值)

上传时间 Python 3 manylinux: glibc 2.17+ x86-64

pylibmagic-0.5.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (617.4 kB 查看哈希值)

上传时间 Python 3 manylinux: glibc 2.17+ ARM64

pylibmagic-0.5.0-py3-none-macosx_11_0_arm64.whl (697.6 kB 查看哈希值)

上传时间 Python 3 macOS 11.0+ ARM64

pylibmagic-0.5.0-py3-none-macosx_10_9_x86_64.whl (697.0 kB 查看哈希值)

上传时间 Python 3 macOS 10.9+ x86-64

由...