12

私のpythonプロジェクト間でユーティリティモジュールを共有するための最良のディレクトリ構造戦略は何ですか? 共通モジュールは新しい機能で更新されるため、それらを python インストール ディレクトリに配置したくありません。

project1/
project2/
sharedUtils/

project1 から "import ..\sharedUtils" が使えません。他に方法はありますか? 「sharedUtils」の場所をハードコードしたくない

前もって感謝します

4

3 に答える 3

6

ディレクトリ構造:

project1/foo.py
sharedUtils/bar.py

表示したディレクトリを使用してfoo.py、ディレクトリ内から次のようproject1に相対パスを追加できます。sharedUtils

import sys
sys.path.append("../sharedUtils")
import bar

これにより、パスのハードコーディングが回避C:/../sharedUtilsされ、ディレクトリ構造を変更しない限り機能します。

于 2012-12-04T01:16:18.073 に答える
6

別のスタンドアロン パッケージを作成しますか? Python インストールの /site-packages に入れますか?

開発モードに関しては、私の個人的なお気に入りもあります。それは、シンボリックリンクや*.pthファイルの使用です。

于 2009-11-30T11:46:54.830 に答える
6

と があるとsharedUtils/utils_fooしますsharedUtils/utils_bar。PYTHONPATH を編集して を含めsharedUtils、それらをインポートしてproject1使用project2することができます

import utils_foo
import utils_bar
etc.

Linux では、 ~/.profile を次のように編集することで実行できます。

PYTHONPATH=/path/to/sharedUtils:/other/paths
export PYTHONPATH

PYTHONPATH 環境変数を使用すると、Python がモジュールを探すときに検索するディレクトリに影響します。すべてのユーザーが独自の PYTHONPATH を設定できるため、このソリューションは個人的なプロジェクトに適しています。

マシン上のすべてのユーザーがモジュールを にインポートできるようにするsharedUtils場合は、ファイルを使用してこれを実現でき.pthます。ファイルを配置する正確な場所は.pth、Python ディストリビューションによって異なる場合があります。Python 開発に .pth ファイルを使用する を参照してください。

于 2009-11-30T13:05:39.913 に答える