导入错误: 无法导入名为inspect的模块 OpenShift

3

我试图在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个回答

5

您的SQLAlchemy版本非常旧。"inspect"系统在2012年版本0.8中添加。当前版本为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 

Flask-SQLAlchemy v2.1的setup.py文件包含以下内容:

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接