Flask_loginモジュールに問題があります。
flask_loginモジュールを正常にインストールしました。また、コマンドプロンプトからエラーなしでこのスクリプトを簡単に実行できます:
Python 2.7 (r27:82525, Jul 4 2010, 07:43:08) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from flask.ext.login import LoginManager
しかし、このスクリプトを実行しているとき:
from flask import Flask
from flask.ext.login import LoginManager
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World! Welcome"
if __name__ == "__main__":
app.run()
私はエラーが発生しています:
ImportError: No module named flask.ext.login
私がしている間違いは何ですか。私はこのフラスコに非常に新しいです。前もって感謝します。
以下が機能しない場合:
from flask.ext.login import LoginManager
以下を試してください:
from flask_login import LoginManager
これは新しい規則です。
フラスコログインバージョンを見つけるには、ターミナルで次のコマンドを実行します。他のパッケージのバージョンを知るために名前を変更するだけです。
pip show flask-login
Pipをインストールしてから、次のコマンドを使用します。
C:\Python27\scripts>pip install Flask-Login
既にフラスコログインをインストールしている場合
$pip install flask_login
交換してみてください
from flask.ext.login import LoginManager
と
from flask_login import LoginManager
これは環境エラーです-使用しているIDEにはPYTHONPATHが正しく設定されていません。小さなテストファイルを作成してテストできます:test.py内容:
from os import environ
print environ.get('PYTHONPATH')
PYTHONPATHにFlask-Loginパッケージを保持するディレクトリが含まれていない場合、それが問題です。
最初に、flask_loginを仮想環境にインストールしました。マシン上で見つけようとしていることがわかりました。だから私はそれをグローバルにインストールしました;
mycomp#pip install -U flask_login
これで問題は解決しました。
簡単な解決策は、flask.ext.login
から.extを削除し、代わりにflask_login
と入力することです。これはpython 3で機能し、目的のパッケージが正しくインストールされていることを確認します。
奇妙ですが、コマンドプロンプトからスクリプトを実行しようとしたときに機能しました
C:\Users\dib\Desktop>python foo.py
* Running on http://127.0.0.1:5000/
127.0.0.1 - - [11/Feb/2014 18:03:52] "GET / HTTP/1.1" 200 -
しかし、python default IDE pressing f5
動作していません。
解決策は簡単です。 flask=の異なるバージョンは異なるコードで実行されるため、次のコードに変更します。
スムーズに実行されるはずです。
これはブートストラップにも適用されることに注意してください。実際に解決策を見つけるために、ブートストラップのインポート中にエラーが発生しました。