pytho****@googl*****
pytho****@googl*****
2011年 11月 10日 (木) 01:36:56 JST
Revision: e6f05fa6a368 Author: Naoki INADA <inada****@klab*****> Date: Wed Nov 9 08:36:19 2011 Log: Update 2.7.2: distutils/uploading http://code.google.com/p/python-doc-ja/source/detail?r=e6f05fa6a368 Modified: /distutils/uploading.rst ======================================= --- /distutils/uploading.rst Sun Nov 21 20:52:33 2010 +++ /distutils/uploading.rst Wed Nov 9 08:36:19 2011 @@ -1,8 +1,8 @@ .. _package-upload: -*************************************** -Uploading Packages to the Package Index -*************************************** +********************************************** +パッケージを Package Index にアップロードする +********************************************** .. versionadded:: 2.5 @@ -11,7 +11,7 @@ このコマンドは一つ以上の配布物ファイルをビルドした直後に呼び出されます。例 えば、次のコマンド :: - python setup.py sdist bdist_wininst upload + python setup.py sdist bdist_wininst upload は、ソース配布物とWindowsのインストーラをPyPIにアップロードします。以前 に :file:`setup.py` を実行してビルドした配布物もアップロード対象になるけれども、アップロードさ れるのは :command:`upload` コマンドと同時に @@ -19,10 +19,14 @@ :command:`upload` コマンドは、 :file:`$HOME/.pypirc` ファイル (詳しく は :ref:`pypirc` セクションを ご覧下さい) の、ユーザー名、パスワードとリポジトリURLを利用します。 +同じコマンド内で :command:`register` コマンドが呼ばれていて、そこでプロンプ トから +パスワードを入力した場合、 :command:`upload` は入力されたパスワードを再利用 します。 +:file:`$HOME/.pypirc` ファイルにプレインテキストでパスワードを保存したくな い場合は +この方法を利用できます。 :option:`--repository=*url*` オプションを使って別のPyPIサーバーを指定するこ とができます。 :: - python setup.py sdist bdist_wininst upload -r http://example.com/pypi + python setup.py sdist bdist_wininst upload -r http://example.com/pypi 複数のサーバーを定義することについて、より詳しい情報は :ref:`pypirc` を参照 してください。 @@ -35,3 +39,35 @@ のセクション名), :option:`--show-response` (アップロードの問題をデバッグするために、PyPI サーバーからの全てのレスポン スを表示する)があります。 +.. PyPI package display + +PyPI パッケージ表示 +==================== + +``long_description`` フィールドは PyPI において特別な役目を持ちます。 +サーバーは登録されたパッケージのホームページを表示するためにこれを利用しま す。 + +このフィールドに `reStructuredText <http://docutils.sourceforge.net/rst.html>`_ +記法を利用した場合、 PyPI はこれをパースして、パッケージのホームページに HTML +出力を表示します。 + +``long_description`` フィールドにパッケージ内のファイルの内容を利用すること もできます。 :: + + from distutils.core import setup + + with open('README.txt') as file: + long_description = file.read() + + setup(name='Distutils', + long_description=long_description) + +この例では、 :file:`README.txt` は通常の reStructuredText テキストファイル で、 +:file:`setup.py` と同じパッケージのルートディレクトリに置かれています。 + +壊れた reStructuredText を登録してしまうのを防ぐために、コマンドラインから +:mod:`docutils` パッケージが提供している :program:`rst2html` プログラムを +利用して ``long_description`` をチェックすることができます。 :: + + $ python setup.py --long-description | rst2html.py > output.html + +文法に問題がある場合は、 :mod:`docutils` は警告を表示するはずです。