web-dev-qa-db-ja.com

ImportError:flask.ext.loginという名前のモジュールはありません

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

私がしている間違いは何ですか。私はこのフラスコに非常に新しいです。前もって感謝します。

27
curiousguy

以下が機能しない場合:

from flask.ext.login import LoginManager

以下を試してください:

from flask_login import LoginManager

これは新しい規則です。

フラスコログインバージョンを見つけるには、ターミナルで次のコマンドを実行します。他のパッケージのバージョンを知るために名前を変更するだけです。

pip show flask-login
29
prem kumar

Pipをインストールしてから、次のコマンドを使用します。

C:\Python27\scripts>pip install Flask-Login

14

既にフラスコログインをインストールしている場合

$pip install flask_login

交換してみてください

from flask.ext.login import LoginManager

from flask_login import LoginManager
6
Justin

これは環境エラーです-使用しているIDEにはPYTHONPATHが正しく設定されていません。小さなテストファイルを作成してテストできます:test.py内容:

from os import environ
print environ.get('PYTHONPATH')

PYTHONPATHにFlask-Loginパッケージを保持するディレクトリが含まれていない場合、それが問題です。

2
rdegges

最初に、flask_loginを仮想環境にインストールしました。マシン上で見つけようとしていることがわかりました。だから私はそれをグローバルにインストールしました;

mycomp#pip install -U flask_login

これで問題は解決しました。

0
7guyo

簡単な解決策は、flask.ext.loginから.extを削除し、代わりにflask_loginと入力することです。これはpython 3で機能し、目的のパッケージが正しくインストールされていることを確認します。

0
Kratik

奇妙ですが、コマンドプロンプトからスクリプトを実行しようとしたときに機能しました

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動作していません。

0
curiousguy

解決策は簡単です。 flask=の異なるバージョンは異なるコードで実行されるため、次のコードに変更します。

スムーズに実行されるはずです。

これはブートストラップにも適用されることに注意してください。実際に解決策を見つけるために、ブートストラップのインポート中にエラーが発生しました。

0
Sparrowan