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.
pip install ./PyMuPDFpip 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テストは、MuPDF が独自のサードパーティライブラリを使用せずにビルドされている場合に失敗することが既知です。
scripts/sysinstall.py の使用#
scripts/sysinstall.py は、定期的に GitHub アクション .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 をビルドする際に使用される環境変数に関する詳細な情報が含まれています。
