「Python パッケージガイドライン」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(同期)
21行目: 21行目:
 
* {{Ic|1=--optimize=1}} パラメータは {{Ic|.pyo}} ファイルをコンパイルして [[pacman]] から追跡することができます。
 
* {{Ic|1=--optimize=1}} パラメータは {{Ic|.pyo}} ファイルをコンパイルして [[pacman]] から追跡することができます。
   
もし [https://pip.pypa.io/en/stable/ pip] (例えば wheels のインストールのために必要であり、最近 Python コミュニティから一般に推奨されています) を使う場合は、次のフラグを忘れずに渡してください:
+
もし [https://pip.pypa.io/en/stable/ pip] (wheels などのインストール必要であり、最近 Python コミュニティから一般に推奨されています) を使う場合は、次のフラグを忘れずに渡してください:
   
 
PIP_CONFIG_FILE=/dev/null pip install --isolated --root="$pkgdir" --ignore-installed --no-deps *.whl
 
PIP_CONFIG_FILE=/dev/null pip install --isolated --root="$pkgdir" --ignore-installed --no-deps *.whl
27行目: 27行目:
 
* {{ic|PIP_CONFIG_FILE=/dev/null}} は '''pip''' にフラグを追加するかもしれない {{ic|{/etc,~/.config}/pip.conf}} を無視します。
 
* {{ic|PIP_CONFIG_FILE=/dev/null}} は '''pip''' にフラグを追加するかもしれない {{ic|{/etc,~/.config}/pip.conf}} を無視します。
 
* {{ic|--isolated}} は '''pip''' にフラグを追加するかもしれない環境変数 (それと {{ic|{/etc,~/.config}/pip/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|--ignore-installed}} は https://github.com/pypa/pip/issues/3063 が解決されるまで必要です (フラグを指定しないと先に {{ic|--user}} でインストールされていた場合でも '''pip''' はインストールをスキップしてしまいます)
 
* {{ic|--no-deps}} はメインパッケージと一緒に依存関係がパッケージされないことを保証します。
 
* {{ic|--no-deps}} はメインパッケージと一緒に依存関係がパッケージされないことを保証します。
   

2016年10月23日 (日) 17:25時点における版

このドキュメントでは 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/nullpip にフラグを追加するかもしれない {/etc,~/.config}/pip.conf を無視します。
  • --isolatedpip にフラグを追加するかもしれない環境変数 (それと {/etc,~/.config}/pip/pip.conf) を無視します。
  • --ignore-installedhttps://github.com/pypa/pip/issues/3063 が解決されるまで必要です (フラグを指定しないと先に --user でインストールされていた場合でも pip はインストールをスキップしてしまいます)。
  • --no-deps はメインパッケージと一緒に依存関係がパッケージされないことを保証します。

ノート

基本的に Python パッケージはアーキテクチャに依存しないので arch には any を指定します。

tests という名前のディレクトリをインストールしてはいけません。他の Python パッケージと衝突する可能性があります (例: /usr/lib/python2.7/site-packages/tests/)。

サンプル

サンプル PKGBUILD は こちら を見るか、abs パッケージに入っている /usr/share/pacman/PKGBUILD-python.proto ファイルを見て下さい。