web-dev-qa-db-ja.com

Python appのビルドシステムをセットアップする

this の問題を整理しようとして、次の問題に遭遇しました。

Python /usr/lib/にインストールされるスクリプトがあります。しかし、このスクリプトをビルドシステムに組み込んで、パッケージで動作させる必要があります。

任意の助けいただければ幸いです。以前にC++アプリケーションを作成するときにMakefileで少し作業したことがありますが、Pythonファイル用のMakefileを作成したことはありません(どこから始めればよいかもわかりません)。

アプリのビルドシステムをセットアップするにはどうすればよいですか?

3
Nathan Osman

さて、他の質問で説明したように、ビルドシステムは必要ありません。その場合、ビルドシステムがない方が良いでしょう。

ただし、最も標準的なものは distutils です。メタデータ(つまり、名前、説明など)と(python)パッケージ、モジュール、およびスクリプト(すべてオプション)のリストを提供するだけで完了です。

最後に、プロジェクトからdebianパッケージを生成したい場合は、python-stdebdh7を使用する方が良い)またはpython-mkdebianを使用することで、非常に簡単に行うことができます。 (cdbsを使用)。これらのツールにはさらに多くの違いがありますが、私はあなたがそれらを自分で発見できるようにしましょう。どちらもdistutilsを使用する必要があることに注意してください。 (python-mkdebianはUbuntuのpython-distutils-extraパッケージの一部です。私は-extraをあまり使用していませんが、必要に応じて試すこともできます)

6
Umang

Scons は、言語としてPythonを使用するビルドシステムです(通常、どのプロジェクトでもmakefileよりも優先します)。行う。

とても良い ユーザーガイド です。

0
thbusch

完全な初心者として必要と思われるほど詳細ではないかもしれませんが、Umangは正しい答えを持っています。

Pythonプログラムの場合、_setup.py_ファイルを作成することから開始する必要があります。ファイルの大部分は_distutils.core.setup_への呼び出しになります-これは詳細に説明されています distutilsドキュメントのパート2

Python(py2exe、setuptools、Distributeなど))の他のすべてのパッケージシステムは、distutilsパッケージの上にビルドします。通常、一部のsetup()を拡張します方法(追加のパラメーターまたはコマンドを使用)。

これをUbuntuパッケージに変換する前に、_Sudo setup.py install_を実行してセットアップスクリプトをテストできます。ファイルを予想される場所にインストールする必要があります。そうでない場合は、構成を確認する必要があります。特に、distutilsドキュメントのセクション2.5(スクリプト)と2.6(パッケージデータ)は、おそらくあなたの状況に当てはまります。

それが終わったら、 buntuパッケージングガイドfor Python に従って、Ubuntuパッケージングのレイヤーを確認できます。 Umangが提案する_python-stdeb_および_python-mkdebian_ツールは、Ubuntuパッケージに必要なさまざまなファイルの生成を簡素化します。

0
jbowtie

必ずチェックしてください:

http://pypi.python.org/pypi/modern-package-template/1. スターターのsetup.pyファイルを含む適切なデフォルトのパッケージレイアウト

http://pypi.python.org/pypi/virtualenv 残りのシステムから開発環境をブロックするため。のようなものを実行する

python setup.py開発

コマンドをvirtualenvにビルド/セットアップして、テストできるようにします。

0
Rick