ImportError:无法导入名称检查OpenShift

时间:2016-01-31 14:24:59

标签: python flask openshift flask-sqlalchemy

尝试在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环境。我该怎么办?

2 个答案:

答案 0 :(得分:4)

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

pip install -U sqlalchemy

答案 1 :(得分:0)

可以在requirements.txt中指定OpenShift依赖项:

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

Flask-SQLAlchemy v2.1 setup.py包含:

var chart = new Highcharts.Chart({
    chart: {
        renderTo: 'container'
    },
  xAxis: {
     type: 'datetime',
     labels: {
         // When using tickPositions, you'll also need to specify a label format.
         format: '{value:%e. %b}',
     },         
     tickPositions: [Date.UTC(2007,05,29), Date.UTC(2007,09,04)]
  },
  credits: {
     enabled: false
  },
  series: [{
     data: [
        [Date.UTC(2007,05,29), 300], // This x-axis value should be labeled.
        [Date.UTC(2007,09,03), 300], // NO LABEL for this value
        [Date.UTC(2007,09,04), 200]  // This x-axis value should be labeled.
     ]         
  }]
});

在您的要求中包含SQLAlchemy(除了Flask-SQLAlchemy)将修复@davidism提到的依赖问题。