2016-03-24 62 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

相關問題