2016-12-06 8 views
0

私はPythonを学ぼうとしていますが、Pythonがどのようにインポートを処理するのか分からないようです。私はフラスコのアプリを試していると私は相対URLで実行することができますが、私は絶対URLを練習として輸入について学ぶために使用したい。フラスコアプリで絶対パスを使用する方法は?

PYTHONPATHを自分のプロジェクト内のappディレクトリに設定しましたが、何もしないようです。

これは私の設定です。私は左にapp/__init.py、右にapp/mod_users/controllers.pyがあります。私のrun.pyは、1行のファイルで、from app import appです。

17行目から分かるように、絶対インポートは好きではありません。私のapp変数の名前がappで、インポートのパスも同じである可能性がありますか?私はそれを考え出したと思う@downshiftするためにいくつかの実験を感謝した後

enter image description here

+1

そうであるように、この投稿は名前を変更することなく回避策を提供するかもしれません:http://stackoverflow.com/q/1224741/1248974 – davedwards

+0

それをしました。ありがとう – David

答えて

0

。 4つのステップは、私が望む状態に私を得る。

  1. (ライブリロードのとFLASK_DEBUG=1)私のapp/__init.py

    from __future__ import absolute_import 
    
  2. export PYTHONPATH=./

  3. export FLASK_APP=appの先頭に次の行を追加します。

  4. 変更run.py

    from app import app 
    app.run() 
    

私は上記の操作を行う場合、私はflask runpython run.pyの両方を使用することができ、彼らは同じように機能します。うわー!

関連する問題