2016-10-14 7 views
0

Flaskアプリケーションを作成しようとしています。ロジックを個別のユニットに分けるために、アプリケーションに別のモジュールを追加したいと思います。別のモジュールは、「バリデータ」と呼ばれ、私の現在のディレクトリ構造は次のようになります。Flaskの同じディレクトリにあるPythonインポートモジュール

src/ 
    validation-api/ 
     __init__.py 
     api.py 
    validator/ 
     __init__.py 
     validator.py 
    validation-form/ 
     ... 
    updater/ 
     ... 

マイフラスコアプリケーションがapi.pyにあり、私がやろうとしていますValidationOptionsValidationResult、およびValidationRunvalidatorのクラスですfrom validator import ValidationOptions, ValidationResult, ValidationRun

私はfrom .validator...またはfrom ..validatorをしようとした場合、私は私はかなりモジュールやパッケージは、Pythonでどのように機能するかを理解していないエラーに

ValueError: Attempted relative import in non-package

を取得し、エラーに

ImportError: No module named validator

を取得しています。助言がありますか? api.pyの


内容:

from flask import Flask, request 
from validator.validator import ValidationOptions, ValidationResult, ValidationRun 

app = Flask(__name__) 

@app.route("/validate", methods=["POST"]) 
def validate(self): 
    pass 

if __name__ == '__main__': 
    app.run(debug=True) 

私は、次の3つのコマンドを使用してフラスコを始めています:、私は何@ダニエル・ローズマンへ

set FLASK_APP=api 
set FLASK_DEBUG=1 
python -m flask run 
+3

あなたのFlaskアプリケーションの開始方法と、api.pyの内容を表示してください。 –

+0

@DanielRoseman質問を更新しました。 localhost:5000に行くときにエラーが発生しました。 –

+1

これらのコマンドを実行すると、どのディレクトリにいますか? –

答えて

1

感謝を考え出しました行っている。私は環境変数をvalidation-api.apiに変更し、python -m flask runコマンドをsrcから実行しました。すべての輸入は今働いています!

関連する問題