2017-03-07 19 views
1

でローカルファイルにアクセスすることはできません。そうすると、models/__init__.pyfile.confファイルをロードするため、ファイルが破損します。私はsys.pathからsys.path.appendまでのルートフォルダを追加しようとしましたが、問題は解決していないようです。私もinitからの相対パスを試しましたが、それでも相対パスで与えられたファイルを見つけることができません。独自のコードをエアフローコードにバンドルするにはどうすればよいでしょうか?エアフローは、私はフォルダ構造を持っているPythonコード

それを動作させるためにさまざまな方法を試した結果、ファイルの絶対パスをos.path.abspath(os.path.join(__file__ ,"../..") + '/file.conf')として使用しています。あなたがより良い方法を知っているなら、以下で答えてください。おかげで:)

+0

をインポートすることができ、あなたがfile.confロードするために使用されているコードは何ですか? –

+0

'os.path.abspath(os.path.join(__ file__、" ../ .. ")+ '/file.conf')' – nehiljain

答えて

0

あなたはroot_folder内__init__.pyファイルを追加することができます。

-root_folder - __init__.py - file.conf - models - __init__.py - model1.py - airflow - dags - dag1.py

は、その後、あなたのroot_folderに$ PYTHONPATHにパスを追加します。 dag1.pyファイルのインポートで最後に

import file.conf

ともあなたが

import models.model1

関連する問題