适用于 Linux 发行版的打包#
要求#
Python
MuPDF checkout (包括子模块)。
PyMuPDF checkout。
scripts/sysinstall.py:g_sys_packages中列出的系统包。pyproject.toml中列出的 Python 包。
运行测试的额外要求
scripts/gh_release.py:test_packages中列出的 Python 包。
一般步骤#
构建并安装 MuPDF
安装所需的系统包。
在 MuPDF 的
Makefile上运行make install-shared-python,并使用至少以下 make 变量DESTDIR设置为安装目录,例如/。prefix设置为相对于 DESTDIR 的位置,例如/usr/local或/usr。必须以/开头。USE_SYSTEM_LIBS=yes.HAVE_LEPTONICA=yes.HAVE_TESSERACT=yes.
构建并安装 PyMuPDF
运行
pip install ./PyMuPDF或pip wheel ./PyMuPDF,并使用至少以下环境变量PYMUPDF_SETUP_MUPDF_BUILD=(空字符串)以防止下载和构建硬编码的 MuPDF 版本。设置
CFLAGS、CXXFLAGS和LDFLAGS以确保已安装的 MuPDF 头文件和共享库可见。
运行 PyMuPDF 测试
确保所需的 Python 包可用。
运行
pytest -k "not test_color_count and not test_3050" PyMuPDF如果 MuPDF 未使用 PyMuPDF 的自定义 config.h 构建,则
test_color_count测试已知会失败。如果 MuPDF 未使用其自带的第三方库构建,则
test_3050测试已知会失败。
使用 scripts/sysinstall.py#
scripts/sysinstall.py 提供了已知可行的构建、安装和测试命令的有用示例,因为它由 Github action .github/workflows/test_sysinstall.yml 定期运行。
使用
-h运行或查看 doc-string 以获取详细用法信息。它使用 Debian 风格的
apt命令来安装系统包。默认情况下,它假定存在本地 git checkout
mupdf/和PyMuPDF/。
为本地假根目录和系统根目录运行完整的构建、安装和测试
./PyMuPDF/scripts/sysinstall.py
./PyMuPDF/scripts/sysinstall.py --root /
查看将要运行的命令,而不实际运行它们
./PyMuPDF/scripts/sysinstall.py -m 0 -p 0 -t 0
另请参阅#
setup.py的初始 doc-comment 包含有关构建 PyMuPDF 时使用的环境变量的详细信息。