2

大規模なプロジェクトで python を使用するのは初めてです。私のpythonプロジェクトの次のフォルダー構造を見つけました:

project
├── doc
├── src
│   ├── hardware
│   ├── devices
│   │   ├── device1
│   │   └── device2
│   ├── measurement
│   ├── ui
│   └── util
└── tests
    ├── hardware
    ├── devices
    │   ├── device1
    │   └── device2
    ├── measurement
    ├── ui
    └── util 

tests フォルダーには、soure フォルダー内のモジュールの単体テストが含まれています。これはそのようなプログラムの正しいアプローチですか?

輸入はどうすればいいですか?ルート フォルダーを Python パスに追加し、すべてのモジュールをルート パスから絶対インポートすることを考えました。私はこれを行う必要がありますか?

このプログラムは、いくつかのコイン計算機で使用されています。どのように展開すればよいですか? 現在私が使用SVNしており、すべてのコンピューターがプロジェクト全体を取得し、そこから開始します。欠点が 1 つありPYTHONPATHます。すべてのコンピューターにプロジェクト パスを追加する必要があります。

4

2 に答える 2

2

グローバル構造は私には良さそうです。setuptoolsなどのパッケージをインストールするには、setup.py スクリプトを記述するモジュールが必要です。これにより、パッケージのインストールと配布が可能になります。パッケージの配布については、 Pypiも参照してください。通常、次のことができます。

sudo setup.py install

システムレベルでパッケージをインストールします。または、次のことができます。

sudo setup.py install --prefix=~/local 

ユーザーレベルでインストールします。ただし、~/local/lib/python/site-packages を PYTHONPATH に追加する必要があります。ただし、このユーザーがインストールしたすべてのパッケージに対して一度だけ実行する必要があります。

パッケージが PyPI に保存されている場合、どのマシンでも次のことができます。

easy_install mypackage

パッケージを自動的にインストールします。

さらに良いのは、 virtualenvを使用して、隔離された python "仮想環境" でのみパッケージを表示できるようにすることです。これにより、同じコンピューターでさまざまなパッケージとバージョンを簡単にテストできます。

パッケージのルートレベルに README ファイルなどを追加することもできます。

于 2012-08-03T09:44:29.503 に答える
0

最良のオプションは、 を使用virtualenvし、setup.pyパッケージを説明するために を使用することです。

次に、開発のために、仮想環境内でpython setup.py develop、卵を開発モードでインストールするだけで準備完了です 。ソース開発モード

本番環境では、通常の: python setup.py install(常に virtualenv 内) を使用してください。

于 2012-08-03T10:44:44.450 に答える