2017-02-25 5 views
0

私は独自のディレクトリにいくつかのPythonクラスを作成しました。 (APIディレクトリ内)カスタムPythonライブラリと複数のクライアントを整理して構造化する方法

  1. GoogleのAppEngineの
  2. PythonスクリプトはCLIディレクトリにコマンドラインインタフェースとフラグを(提供:私もライブラリを使用する2つのクライアントを書いた

    mylib/ 
        __init__.py 
        a.py 
        b.py 
    

    )。

マイプロジェクト全体のディレクトリは次のとおりです。

myproject/ 
    CLI/ 
    command_line_client.py 
    API/ 
    app.yaml 
    lib/ 
    mylib/ 
    __init__.py 
    a.py 
    b.py 

標準構造が存在する場合、私は知りませんが、私は一度、ライブラリを変更することができますので、これは賢明なように見えた、とCLIおよびAPIの両方が可能になります更新しました。

しかし、実際にどのように動作するのかは分かりません。特に二つの問題:

  1. AppEngineのは、彼らはアプリと一緒のAppEngineに展開しているので、libサブディレクトリに存在するライブラリが必要です。 mylibをAppEngineのlibサブディレクトリに追加するにはどうすればよいですか?
  2. CLImylibというディレクトリが同じレベルに存在するため、Pythonのインポートの仕組みがわかりません。私のCLI Pythonスクリプトはどのようにライブラリをインポートしますか?

答えて

0

my_libフォルダのシンボリックリンクをAPI/lib内に作成するだけです。その後、APIサービスからmylibに簡単にアクセスできます。

myproject$ ls -s ../mylib API/lib/ 
+0

これはうまく見えます。あなたの答えを受け入れる前にQQ。シンボリックリンクを構築する必要があるGitリポジトリを誰かがクローン化したときに、これらのリンクをどのようにセットアップすればよいですか?シンボリックリンクをリポジトリに追加すべきか、必要なシンボリックリンクを生成するシェルスクリプト(例えば 'install.sh'など)を追加すべきでしょうか? – Jack

+0

'.sh'は必要ありません。シンボリックリンクをあなたのコードとともにGHにアップロードするだけです。 –

関連する問題