= Python 関連パッケージポリシー = Python 関連のパッケージングポリシーを定めます。[[BR]] (''ただし後付けなので現状を無理に変えることを提案してるわけではありません -- owa'') == Python 本体の配置 == Python 本体は以下のディレクトリに配置されます。[[BR]] {{{ %{_prefix}/lib/python%{pyver} # arch に依存しないもの }}} {{{ %{_prefix}/%{_lib}/python%{pyver} # arch に依存するもの }}} arch が i686 や ppc の場合は同じ場所 "/usr/lib" になりますが、x86_64 の場合は %{_lib} が lib64 と定義されているので違う場所 "/usr/lib64" に配置されます。 また組込モジュルーはマクロ定義されている %python_sitelib に配置されますが、 arch に依存するモジュールは %python_sitearch に配置されます。 arch に依存するものは %_lib の値によって配置される場所が異なることに注意してください。 == Python ライブラリパッケージの配置 == 原則として RPM パッケージでいれる Python ライブラリは %python_sitelib に配置し、 arch に依存するライブラリは %python_sitearch に配置するものとします。[[BR]] 現在は自動で振り分けてくれるものが多いと思いますが、 古いパッケージではそうで無いものもあると思います。 迷った時は上の指針で配置してください。 == Python プログラムパッケージの配置 == 原則としてその RPM パッケージ独自のディレクトリに配置すること。[[BR]] (''他から利用されないライブラリを site-packages の下に入れないで欲しい -- owa'') == 各種マクロ == {{{ %__python /usr/bin/python }}} {{{ %pyver %(%{__python} -c "import sys; sys.stdout.write(sys.version[:3])") }}} {{{ %python_sitelib %(%{__python} -c 'from distutils.sysconfig import sys; sys.stdout.write(get_python_lib(0))') }}} * /usr/lib/python%{pyver}/site-packages {{{ %python_sitearch %(%{__python} -c 'from distutils.sysconfig import sys; sys.stdout.write(get_python_lib(1))') }}} * /usr/lib/python%{pyver}/site-packages (i686, ppc 環境の場合) * /usr/lib64/python%{pyver}/site-packages (x86_64 環境 の場合) == site-packages 配下の利用方法 == * site-packages ディレクトリ {%python_sitelib または %python_sitearch} の直下にモジュール *.py や、 ライブラリ *.so をそのまま置くことは Python の名前空間を汚すことになりかねないので勧められません。 パッケージャは管理対象としての名前 (python での import モジュール名となる) を決め、そのディレクトリを作りその配下に収めることを考えてください。