2011-11-15 9 views
3

は、私は私のプロジェクトディレクトリからの設定にプルする必要がPythonパッケージを持っているファイル:Pythonのパッケージや設定は、ここに私のプロジェクトは、現在構成されている方法で、

~/Project/bin/mypackage 
    - package files 

~/Project/myproject/ 
    - project files 
    - start.py 
    - settings.py 

私はそれはジャンゴが構成されている方法に類似だと思いますあなたのPythonディレクトリのDjangoシステムパッケージによって何らかの形で参照されるsettings.pyファイルがプロジェクトディレクトリにあります。私はそうのようなstart.py実行している場合

ので、:

python ~/Project/myproject/start.py 

..and start.py輸入と「mypackageと」パッケージを利用して、私はsettings.pyファイルを参照することができますどのような方法がありますパッケージ内からstart.pyにローカル?私は、設定ファイルをstart.pyにロードし、その値をグローバルに格納する必要がありますか?誰でもこれがどのように可能か知っていますか?

答えて

1

pythonインタープリタを呼び出すために使用されたスクリプトを含むディレクトリがPYTHONPATHに追加されました。それはsys.path[0]で入手できます。これはsettingsは、単にimport settingsによってmypackage.mymoduleから利用可能であるべきであることを意味しhttp://docs.python.org/library/sys.html#sys.path

参照してください。

しかし、私は、設定オブジェクト(たぶんdict)が渡されるように、start.pyの設定の読み込みとアプリケーションの構造化を検討します。

2

私はあなたがいくつかのオプションがあり、それを見る方法:

  1. 外観の設定のために、それらをインポートするいずれかの現在の作業ディレクトリから、または環境変数から決定されます。これはDJANGO_SETTINGS_MODULEとPYTHONPATHを使った "djangoのやり方"です。あなたが別のディレクトリから実行している場合など、そうでない場合には、これはうまく動作して不便です。

  2. 呼び出し元パッケージのディレクトリを含むモジュール検索パスに依存します。ニースとシンプルですが、設定は発信者に応じて異なります。たとえば、あなたがmypackageとに必要なのは、次のとおりです。変数

などの設定で

インポート設定

  • パス

  • 関連する問題