2016-01-31 56 views
3

尝试部署我的OpenShift应用我坚持这个错误:导入错误:无法导入名称检查OpenShift

Traceback (most recent call last): 
    File "app.py", line 35, in <module> 
    application = imp.load_source('app', 'flaskapp.py') 
    File "flaskapp.py", line 2, in <module> 
    from flask_sqlalchemy import SQLAlchemy 
    File "/var/lib/openshift/56ad93df7628e163fa00003a/python/virtenv/lib/python2.7/site-packages/ 
Flask_SQLAlchemy-2.1-py2.7.egg/flask_sqlalchemy/__init__.py", line 25, in <module> 
    from sqlalchemy import orm, event, inspect 
ImportError: cannot import name inspect 

搜索答案,我了解到,原因是我的Python环境以某种方式打破,但我不知道如何修复OpenShift环境。我该怎么办?

回答

4

你有一个非常旧的版本的SQLAlchemy。 2012年版本0.8中添加了inspect系统。当前版本为1.0。最近的Flask-SQLAlchemy更改已经放弃了对SQLAlchemy的非常旧版本的支持。升级到更新的版本。

pip install -U sqlalchemy 
0

OpenShift依赖关系可以用requirements.txt指定:

Flask>=0.10.1                 
Flask-SQLAlchemy>=2.1               
SQLAlchemy>=1.0.12 

烧瓶-SQLAlchemy的V2.1 setup.py包含:

install_requires=['Flask>=0.10', 
        'SQLAlchemy>=0.8.0'] 

包含的SQLAlchemy(除了瓶-SQLAlchemy)将解决@davidism提到的依赖性问题。

相关问题