2016-12-06 76 views
0

我試圖學習python,似乎無法理解python如何處理導入。我正在試驗一個Flask應用程序,我可以讓它與相關的url一起運行,但我想使用絕對url作爲練習來了解導入。如何在燒瓶應用程序中使用絕對路徑?

我已將我的PYTHONPATH設置爲我的項目中的app目錄,但似乎沒有任何操作。

這是我的設置。我在左邊有app/__init.py,右邊有app/mod_users/controllers.py。我的run.py是一行文件,from app import app

正如你可以看到第17行,它不喜歡絕對導入。這可能是因爲我的應用程序變量名爲app,導入路徑也是這樣嗎?

enter image description here

+1

似乎是這樣,這篇文章可能會提供一個解決方法,而不必更改名稱:http://stackoverflow.com/q/1224741/1248974 – davedwards

+0

它做到了。謝謝 – David

回答

0

一些嘗試感謝後@downshift我想我已經想通了。 4個步驟讓我去說我想要的。

  1. 此行我app/__init.py

    from __future__ import absolute_import 
    
  2. export PYTHONPATH=./

  3. export FLASK_APP=app(和FLASK_DEBUG=1現場重裝)

  4. 變化run.py頂部加入

    from app import app 
    app.run() 
    

如果我做了以上我可以同時使用flask runpython run.py和他們的工作是相同的。嗚呼!