2016-12-06 110 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和他们的工作是相同的。呜呼!