質問

これは一般的なシナリオであるはずですが、関連する投稿がまだ見つかりませんでした。

いくつかの画像やその他のリソース ファイルを使用する Python ライブラリ (通常のアプリケーションにも同じことが当てはまると思います) をデプロイする予定です。そのようなアイテムの標準的な場所はどこですか?私が想像するに、プロジェクトのために Foo, 、選択肢は次のようになります

  • 持っている resources ソース リポジトリ内のディレクトリに移動し、ファイルを次の場所に移動します /usr/share/foo/
  • リソースを Python パッケージ内に直接配置します。 /usr/lib/python-<version>/foo/

助言がありますか?

編集: 示唆されているように、これが実行される主要なプラットフォームが Linux であることを明確にします。

役に立ちましたか?

解決

それぞれが独自の手口を持っているとして、適切な答えは、基礎となるオペレーティングシステムに依存するため、

この質問は、やや不完全です。例は、/ usr / share / FOOまたは/ usr /ローカル/共有/ fooのためのLinux(およびほとんどのUNIXベースのOS)に標準であろう。 OS Xでは、あなたは同じことを行うことができますが、(それは設定やその他もろもろを格納するために、通常のですが)私はあなたが以下のライブラリを書いている場合も、そのようなことを置く場所だろう「/ライブラリ/ Application Support / foo」を思うだろう「フレームワーク」という考え、すべてのリソースが/Library/Frameworks/Foo.Frameworkに含まれることになる」...一方、OS XのアプリがFoo.app

内のリソースディレクトリ内のすべてそこにリソースを維持しなければなりません

他のヒント

私たちは、

/opt/foo/foo-1.2/...に非の.pyファイルを置きます

もちろん、アパッチによって提供される静的なメディアのために、それは/var/www/html/foo/foo-1.1/media/...に進み、除きます。

、もちろん、顧客固有の設定ファイルを除きます。彼らはに行きます /var/opt/customer/foo/...

私はそれらを理解して

これらは、Linuxの標準規格に従ってください。

私たちは、それらは、彼らが配布の一部だように感じるので、離れた場所の/usr/lib//lib種類から滞在してみてください。それらは明確にLinuxディストリビューションのディレクトリから分離しているので、私たちは/opt/varに傾くます。

標準の場所あなたの標準のlibsがどこに行くです。しかし、それはあなたがそこにあなたのpythonのlibをお勧めしますことを、あなたが書いたものとは私には思えません。私はあなたが VIRTUALENV を試してみるべきだと思います。

あなたが(まあ、それは本当にあなたのためだけにsudo easy_install virtualenvする金額)すべての問題を通過したくない場合、あなたは自分の~/内の任意のディレクトリにあなたのpythonのlibをダンプとの線に沿って何かをしようとすることができ

import sys
sys.path.append( '/full/path/to/your/lib/goes/here')

あなたのlibを使用して、任意のアプリケーションに。

与えられた例はテストのみを目的としていることを、心に留めてください。ライブっぽい何のために、私はあなたが distutil して使用することをお勧めします。使用例は、ここを与えられます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top