2017-02-02 5 views
0

私はFlaskアプリケーションで作業していて、スクリプトが別のディレクトリにあるモジュール内でスクリプトを実行しようとすると問題が発生します。私は、ここや他のサイトでいくつかのソリューションを見てみることを試みましたが、動作するものを見つけることができませんでした。私はapi_fetch.pyを実行する必要があるが、私の人生のために、私はそれに何をする必要があるかわからない機能を持っているjobs.py以内Flaskの親ディレクトリからスクリプトを実行する方法は?

dashboard\ 
    app\ 
    static\ 
    templates\ 
    __init__.py 
     jobs.py 
    api_fetch.py 
    config.py 
    run.py 

:私はそうのようなプロジェクト構造を持っています。私は..sysosとnothingsで輸入を試みました。これは難しいことではないようですが、私は迷っています。これまで私は、うまく動作する同じパスでモジュールをインポートするだけでした。 jobs.py

答えて

0

from .. import api_fetch 

dashboard次いで '外部'

$ python -m dashboard.app.jobs 

__init__.pydashboardであるべきです。 jobs.pyに続いて

dashboard\ 
    |app\ 
     |static\ 
     |templates\ 
     -__init__.py 
     -jobs.py 
    -__init__.py << don't forget this! 
    -api_fetch.py 
    -config.py 
    -run.py 

:あなたは親パッケージdashboard、ファイル構造からだけインポートすることができ

0

がこれを好きなはずです

from dashboard import api_fench 
+0

を私は '__initを追加__ py'ダッシュボード\で行います。私はapp \ __ init__.pyからそれにコードを移動する必要がありますか?ダッシュボードの\は空です。私はまだ、このエラーを取得しています..輸入api_fetch とValueErrorから ': – eriye9

+0

package'トップレベルを超え未遂相対インポート申し訳ありませんが、私は間違いを持っ​​て、あなただけの親パッケージからインポートすることができます(答えを参照します)。 –

+0

はその変更を行い、 'ImportError:dashboardという名前のモジュールはありませんでした.'私はパッケージを間違って設定しなければなりません。わからない。 – eriye9

関連する問題