2013-07-24 68 views
1

我正在通過使用Vagrant和Ansbile(https://github.com/nickhs/flask_skeleton)部署Flask應用程序的指南,但不斷遇到一個我不知道如何解決的錯誤。嘗試創建python web應用程序時出現流言錯誤

我運行下面... $無業遊民了分貝

...這將經歷一個錯誤,我才找不到任何答案,一個公平的幾個步驟。

這些都是完成的步驟...

(分貝)運行預配:ansible ...

PLAY [dbservers] ************************************************************** 

GATHERING FACTS *************************************************************** 

TASK: [update apt] ************************************************************ 
changed: [192.168.100.20] 

TASK: [install base packages] ************************************************* 
changed: [192.168.100.20] => (item=libpq-dev,python-dev,python-setuptools,git,libevent-dev,python-psycopg2) 

TASK: [install pip] *********************************************************** 
changed: [192.168.100.20] 

TASK: [add env variables] ***************************************************** 
changed: [192.168.100.20] 

TASK: [install db server packages] ******************************************** 
changed: [192.168.100.20] => (item=postgresql,postgresql-contrib) 

TASK: [update postgres db configuration] ************************************** 
changed: [192.168.100.20] 

TASK: [update postgres client configuration] ********************************** 
changed: [192.168.100.20] 

TASK: [link /vagrant to /srv/flask_skeleton] ********************************** 
changed: [192.168.100.20] 

TASK: [install dependencies] ************************************************** 
changed: [192.168.100.20] 

NOTIFIED: [source env variables] ********************************************** 
ok: [192.168.100.20] 

NOTIFIED: [restart postgresql] ************************************************ 

PLAY [dbservers] ************************************************************** 
TASK: [create database user] ************************************************** 
TASK: [create database] ******************************************************* 

NOTIFIED: [build database] **************************************************** 
failed: [192.168.100.20] => {"item": "", "rc": 1} 
stdout: Traceback (most recent call last): 
    File "/srv/flask_skeleton/createdb.py", line 1, in <module> 
    from app import db 
ImportError: cannot import name db 


PLAY RECAP ******************************************************************** 
      to retry, use: --limit @/var/tmp/ansible/vagrant-dbserver.retry 

192.168.100.20    : ok=14 changed=12 unreachable=0 failed=1 

任何人都可以點我在正確的方向?

回答

1

綜觀app.py行:

app.config['SQLALCHEMY_DATABASE_URI'] = os.environ.get('DATABASE_URL') 

if app.config['SQLALCHEMY_DATABASE_URI']: 
    db = SQLAlchemy(app) 

如果沒有DATABASE_URL定義,那麼就不會有「DB」創建變量,然後不能在createdb.py進口模塊。你能檢查你是否確實有os.environ.get('DATABASE_URL')的值嗎?

+0

你說得對。注意自我:必須在不嘗試理解正在發生的事情的情況下盲目地完成步驟。我現在已經發表了評論,只是爲了看看我能否更好地掌握髮生的事情。感謝您的時間。 – elksie5000

相關問題