2013-07-24 45 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

相关问题