「Python パッケージガイドライン」の版間の差分
(ページの作成:「Category:パッケージ開発 en:Python package guidelines it:Python Package Guidelines {{Package Guidelines}} このドキュメントでは Python ソ...」) |
(同期) |
||
| 19行目: | 19行目: | ||
ほとんどの Python パッケージは '''setup.py''' による [http://docs.python.org/library/distutils.html distutils] システムでインストールされます。ファイルは {{Ic|/usr/lib/python''<python version>''/site-packages/''pkgname''}} ディレクトリにインストールされます。 |
ほとんどの Python パッケージは '''setup.py''' による [http://docs.python.org/library/distutils.html distutils] システムでインストールされます。ファイルは {{Ic|/usr/lib/python''<python version>''/site-packages/''pkgname''}} ディレクトリにインストールされます。 |
||
| + | * {{Ic|1=--optimize=1}} パラメータは {{Ic|.pyo}} ファイルをコンパイルして [[pacman]] から追跡することができます。 |
||
| − | == ノート == |
||
| + | もし [https://pip.pypa.io/en/stable/ pip] (例えば wheels のインストールのために必要であり、最近 Python コミュニティから一般に推奨されています。) を使う場合は、次のフラグを忘れずに渡してください: |
||
| − | {{Ic|1=--optimize=1}} パラメータは {{Ic|.pyo}} ファイルをコンパイルして [[pacman]] から追跡することができます。 |
||
| + | |||
| + | PIP_CONFIG_FILE=/dev/null pip install --isolated --root="$pkgdir" --ignore-installed --no-deps *.whl |
||
| + | |||
| + | * {{ic|PIP_CONFIG_FILE=/dev/null}} は '''pip''' にフラグを追加するかもしれない {{ic|{/etc,~/.config}/pip.conf}} を無視します。 |
||
| + | * {{ic|--isolated}} は '''pip''' にフラグを追加するかもしれない環境変数 (それと {{ic|{/etc,~/.config}/pip/pip.conf}}) を無視します。 |
||
| + | * {{ic|--ignore-installed}} は https://github.com/pypa/pip/issues/3063 が解決されるまで必要です (otherwise '''pip''' skips the install in the presence of an earlier {{ic|--user}} install). |
||
| + | * {{ic|--no-deps}} はメインパッケージと一緒に依存関係がパッケージされないことを保証します。 |
||
| + | |||
| + | == ノート == |
||
基本的に Python パッケージはアーキテクチャに依存しないので {{Ic|arch}} には {{Ic|any}} を指定します。 |
基本的に Python パッケージはアーキテクチャに依存しないので {{Ic|arch}} には {{Ic|any}} を指定します。 |
||
2016年10月20日 (木) 20:50時点における版
32ビット – CLR – クロス – Eclipse – Electron – Free Pascal – GNOME – Go – Haskell – Java – KDE – カーネル – Lisp – MinGW – Node.js – ノンフリー – OCaml – Perl – PHP – Python – R – Ruby – Rust – VCS – ウェブ – Wine
このドキュメントでは Python ソフトウェアの PKGBUILD を書くときの決まり事とガイドラインを提供します。
パッケージの命名規則
Python 3 ライブラリの場合、python-modulename を使って下さい。アプリケーションの場合、プログラムの名前を使って下さい。どちらの場合でもパッケージの名前は小文字である必要があります。
Python 2 ライブラリの場合は python2-modulename という風に名前を付けて下さい。
バージョン付きパッケージ
特定のバージョンのパッケージを追加する必要がある場合は python-modulename-version を使って下さい (例: python-colorama-0.2.5)。python の依存パッケージが colorama==0.2.5 ならば Arch のパッケージは python-colorama-0.2.5 になります。
ファイルの配置場所
ほとんどの Python パッケージは setup.py による distutils システムでインストールされます。ファイルは /usr/lib/python<python version>/site-packages/pkgname ディレクトリにインストールされます。
--optimize=1パラメータは.pyoファイルをコンパイルして pacman から追跡することができます。
もし pip (例えば wheels のインストールのために必要であり、最近 Python コミュニティから一般に推奨されています。) を使う場合は、次のフラグを忘れずに渡してください:
PIP_CONFIG_FILE=/dev/null pip install --isolated --root="$pkgdir" --ignore-installed --no-deps *.whl
PIP_CONFIG_FILE=/dev/nullは pip にフラグを追加するかもしれない{/etc,~/.config}/pip.confを無視します。--isolatedは pip にフラグを追加するかもしれない環境変数 (それと{/etc,~/.config}/pip/pip.conf) を無視します。--ignore-installedは https://github.com/pypa/pip/issues/3063 が解決されるまで必要です (otherwise pip skips the install in the presence of an earlier--userinstall).--no-depsはメインパッケージと一緒に依存関係がパッケージされないことを保証します。
ノート
基本的に Python パッケージはアーキテクチャに依存しないので arch には any を指定します。
tests という名前のディレクトリをインストールしてはいけません。他の Python パッケージと衝突する可能性があります (例: /usr/lib/python2.7/site-packages/tests/)。
サンプル
サンプル PKGBUILD は こちら を見るか、abs パッケージに入っている /usr/share/pacman/PKGBUILD-python.proto ファイルを見て下さい。