2009-05-11 15 views
4

これは一般的なシナリオでなければなりませんが、私はPythonライブラリを展開する予定のすべての関連のポストはまだ..標準的な非コードリソースの場所

を見つけることができませんでした(私は同じで、通常のアプリケーションに適用されると思います)いくつかの画像やその他のリソースファイルを使用します。そのようなアイテムの標準的な場所は何ですか?私は、プロジェクトFooため、選択肢が

  • は、ソースリポジトリのresourcesディレクトリがあり、その後、/usr/lib/python-<version>/foo/

の下に行くのpythonパッケージ内に直接/usr/share/foo/

  • 場所のリソースにファイルを移動するだろう、と想像します助言がありますか?

    編集:これは、メインプラットフォームがLinux上で実行されていることを明確に示しています。

  • 答えて

    2

    この質問は多少不完全です。なぜなら、適切な答えはそれぞれの独自の操作方法を持っているため、根本的なオペレーティングシステムに依存するからです。例えば、/ usr/share/fooや/ usr/local/share/fooなどのLinux(そしてほとんどのUNIXベースのOS)では標準になります。 OS Xでは同じことができますが、 "/ Library/Application Support/Foo"(これは通常設定やその他のものを保存するためのものですが)はそういうものを置く場所だと思いますが、 "Framework"アイデア、すべてのリソースは/Library/Frameworks/Foo.Frameworkに含まれています...一方、OS X上のアプリケーションは、Foo.app内のリソースディレクトリ内のすべてのリソースを保持する必要があります

    0

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

    場合あなたはすべてのトラブルを通過したくない(まあ、それは本当にただ、あなたは自分の~/内の任意のディレクトリにあなたのpythonのlibをダンプし、あなたのlibを使用して、任意のアプリケーションに

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

    の線に沿って何かをしようとすることができます)あなたのためにsudo easy_install virtualenvになります。

    与えられた例はテスト目的のみのものです。何でも生きるためには、distutilを使うことをお勧めします。使用例はhereです。

    2

    我々はもちろん、アパッチによって提供される静的なメディアのために、それは、もちろん、顧客固有の設定ファイルを除いて/var/www/html/foo/foo-1.1/media/...

    になり、除き/opt/foo/foo-1.2/...

    に非の.pyファイルを置きます。彼らはへ行く /var/opt/customer/foo/...

    私はそれらを理解するようにLinux標準に従います。

    /usr/lib//libの種類の場所は、配信の一部であるように感じるため、離れて滞在しようとしています。私たちは/opt/varに向かっているので、それらはLinuxディストリビューションのディレクトリからはっきりと区別されています。

    関連する問題