适用于 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 时使用的环境变量的详细信息。