14

Pythonモジュールの整理に関しては、私のMacOSXシステムはめちゃくちゃです。私はhddのいたるところにパッケージを置いており、それらを整理するための特別なシステムはありません。

どのようにしてすべてを管理しやすくしますか?

4

8 に答える 8

13

私のアドバイス:

  • Python モジュールのインストールを読んでください。
  • Python モジュールの配布を読んでください。
  • setuptoolsから easy_install の使用を開始します。setuptools のドキュメントを読んでください。
  • 常にvirtualenvを使用してください。私の site-packages ディレクトリにはsetuptools と virtualenv のみが含まれています。
  • Ian Bicking の新しいプロジェクトpyinstallをチェックしてください。
  • Ian Bickingが取り組んでいるすべてをフォローしてください。それは常に善です。
  • 独自のパッケージを作成する場合は、distutils/setuptools を使用してください。paster create( http://pythonpaste.orgを参照) を使用して初期ディレクトリ レイアウトを作成することを検討してください。
于 2008-10-06T09:48:54.330 に答える
5

Python コンポーネントにはいくつかのファミリがあります。

  1. Pythonに付属するもの。これは自分で処理します。

  2. easy_install で得たもの。これも、自分で処理します。

  3. TAR ボールまたは SVN チェックアウトとして、別の方法で取得する必要があったパッケージ。フォルダを作成しComponentsます。ダウンロードまたはSVNを最初にそこに入れます。毎回。そこからインストールを行います。

  4. 作成した再利用可能なパッケージ。そのProjectsフォルダーに各プロジェクトを含むフォルダーがあります。プロジェクトが再利用性の高いものである場合は、setup.pyダウンロードしたかのように実際にインストールを実行します。私はこれらの多くは持っていませんが、いくつかあります。それらのいくつかは、オープン ソース プロジェクトになる可能性があります。

  5. あなたが書く最終的なアプリケーション。Projectsこれらの最上位アプリケーションのそれぞれにフォルダーがあります。これらは通常、大きくとりとめのないもの (Django サイトなど) であり、setup.py. なんで?多くの場合、それらは非常に複雑で、管理するサーバーのインストールはわずかであり、それらのサーバーのインストールはそれぞれ固有のものです。PYTHONPATHこれらは通常、パーツを識別するために に依存しています。

共通のテーマに注目してください。ダウンロードしたコンポーネントか、作業中のプロジェクトです。

また、私はこれをクライアントから (ある程度) 分離しています。クライアント フォルダーのマスター ディレクトリがあり、各フォルダーにはプロジェクトがあり、各プロジェクトには販売と配送があります。すべてのプロジェクトに販売と配送の両方があるわけではありません。

于 2008-10-05T19:54:07.793 に答える
5

PEP8 と easy_install に加えて、virtualenv を確認する必要があります。Virtualenv では、複数の異なる Python ライブラリ ツリーを使用できます。職場では、ブートストラップ環境で virtualenv を使用して、開発/運用環境をすばやくセットアップし、すべてのライブラリ バージョンなどを同期します。通常、ライブラリのアップグレードを調整します。

于 2008-10-05T13:47:05.707 に答える
2

多分PEP8easy_installがあなたを助けることができますか?

于 2008-10-05T13:38:32.183 に答える
2

パッケージのすべてのソースを ~/Packages/ 内に保持し、「python2.5 setup.py install」を使用して標準インストールを行います。これは(私にとっては) /Library/Frameworks/Python/Versions/current/lib/python2.5/site-packages/ に投げ込まれます。私自身のソフトウェアの開発のために、PYTHONPATH に pre-prending することで、トランク/ブランチ/1.0 などを切り替えるエイリアスを設定しています。(適切にインポートする前に、これらの各ディレクトリで「setup.py build_ext --inplace」を実行する必要があります。)

Python2.6 には、ユーザーごとの site-packages ディレクトリがあり、より便利であることに注意してください。

于 2008-10-05T15:30:55.140 に答える
1

私のアドバイスは、あなたがそうしない正当な理由がない限り、あなたのサイトパッケージディレクトリにすべてを入れようとすることです。そして、easy_installは、卵の場所でsys.pathを台無しにする傾向があることがわかったので、避けようとしましたが、それは私だけです。一部の人々はそれが役に立つと思います。

互いに競合する可能性のある異なるライブラリを使用するプログラムがたくさんある場合は、virtualenvも確認することをお勧めします。

于 2008-10-05T16:11:30.113 に答える
1

Just ran across this site from another StackOverflow question: http://infinitemonkeycorps.net/docs/pph/ This addresses more than just module placement, but once you place it write how you can easily handle documentation, testing, and distribution.

于 2011-12-19T23:25:15.080 に答える
1

「モジュール」の Python ドキュメント ページは、コードの編成、特に「パッケージ」セクションに関する便利なガイドです。

于 2008-10-05T13:50:39.383 に答える