2016-03-24 34 views
0

我在运行我的代码时遇到问题。 我所做的:ImportError:没有名为flask.ext.sqlalchemy的模块并且没有解决方案

from flask_sqlalchemy import SQLAlchemy 

它一直说:导入错误:没有模块名为flask.ext.sqlalchemy

我跟着这个教程:http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world

,并保持它让我大量导入错误不只为sqlalchemy,但也这些:

from flask.ext.wtf import Form 
from wtforms import TextField, BooleanField 
from wtforms.validators import Required 

所有上述进口得到我导入错误。 我已经检查了堆栈溢出的所有类似问题并尝试所有解决方案,但它们都无效。有人能帮助我吗?提前致谢。

这里是错误消息:

/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 /Users/Mia/Documents/workspace/Assignment3.2/run.py 
Traceback (most recent call last): 
    File "/Users/Mia/Documents/workspace/Assignment3.2/run.py", line 1, in <module> 
from app import app 
File "/Users/Mia/Documents/workspace/Assignment3.2/app/__init__.py", line 2, in <module> 
from flask_sqlalchemy import SQLAlchemy 
ImportError: No module named 'flask_sqlalchemy' 

我觉得这是非常奇怪的,当我在我的项目目录检查蟒蛇的版本,它是2.7。但上面显示的是3.5。会导致问题吗?

+0

你有这些安装?做一个'点击冻结'来查看你已经安装了什么。 – Connie

+0

要么你没有安装软件包,要么你没有激活你的环境,这两个都在链接教程中介绍。尝试再次阅读教程,它实际上遵循它一切都会工作。 – davidism

+0

@Connie我做了PIP冻结,这里是结果:瓶== 0.10.1 烧瓶的SQLAlchemy == 2.1 itsdangerous == 0.24 Jinja2的== 2.8 MarkupSafe == 0.23 的SQLAlchemy == 1.0.12 WERKZEUG == 0.11.5 –

回答

2

你不是从virtualenv运行。注意traceback中Python二进制文件的路径:/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5,系统Python。

激活virtualenv,然后运行该程序。

source ./flask/bin/activate 
python run.py 

或者,按照教程和正确的可执行指令添加到脚本的顶部,然后直接执行该脚本(与chmod +x ./run.py可执行标记之后)。

#!flask/bin/python 
from app import app 
app.run(debug=True) 
./run.py 
+0

你的方法可行!我在这个问题上挣扎了一整天!我仍然有一个奇怪的问题。它在终端中工作,但在Pycharm中仍然使用3.5。所以现在我只能在终端运行。有什么方法可以修复我的Pycharm吗?非常感谢!!! –

+0

http://stackoverflow.com/a/28679116/400617 – davidism

相关问题