Linux发行版的打包#
需求#
Python
MuPDF 检出(包括子模块)。
PyMuPDF 检出。
在
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测试
test_color_count如果 MuPDF 没有使用 PyMuPDF 的自定义 config.h 构建,则被认为是失败。测试
test_3050已知在没有构建自身第三方库的情况下会失败。
使用 scripts/sysinstall.py#
scripts/sysinstall.py 提供了一个关于构建、安装和测试命令的有用示例,这些命令已知可以正常工作,因为它由 Github action .github/workflows/test_sysinstall.yml 定期运行。
使用
-h运行或查看文档字符串以获取详细的使用信息。它使用Debian风格的
apt命令来安装系统包。默认情况下,它假设本地 git 检出
mupdf/和PyMuPDF/。
要运行完整构建,安装并测试本地假根和系统根:
./PyMuPDF/scripts/sysinstall.py
./PyMuPDF/scripts/sysinstall.py --root /
要查看将要运行的命令而不实际运行它们:
./PyMuPDF/scripts/sysinstall.py -m 0 -p 0 -t 0
另见#
setup.py的初始文档注释中包含有关在构建PyMuPDF时使用的环境变量的详细信息。